摘要:
代码搬运自戳我 同时感谢提供了详细学习笔记的maomao9173神仙 PART1 from __future__ import print_function import torch x = torch.empty(5, 3) # empty -> 未初始化,随机值 x = torch.rand(5 阅读全文
摘要:
day 1 广二真好看QAQ ~~(要是我也能在这里读书就好了)~~ 提供的餐饮好评QAQ 发现室友是雅礼集训时候的室友,衡水小姐姐zyn。 但是寝室没有网没有信号没有桌子真的不良心啊...... 发现小卖部没有开门,于是和bluesky,dreagonm,maomao和主席跑出去很远去万达买了水. 阅读全文
摘要:
Day 1 在机房呆了一天,大概看了看原先写过的题,有点颓。 下午的时候和大家一起打扫了一下机房。 走的时候,看着空无一字的黑板,风吹起的棕黄色窗帘,远方的蓝色天空,有一种很浓厚的哀伤。 时间过得真快啊,转眼就是省选了呢。 许是要退役了吧? 许是要退役了吧。 Day 0 明天就是省选了,看到空间里大 阅读全文
摘要:
import sys sys.path.append(引用文件路径) # 注意这里是绝对路径 # 当然也可以这样 import os sys.path.append(os.pardir)//这个是返回当前文件的父目录 from python文件名 import 函数名 阅读全文
摘要:
HDU 6231 K-th Number 题目大意: 给一个序列A,将其所有的大于等于K长度的子区间中,第K大的数取出来,放到B数组中。求B数组中第M大的数。 思路: 将所有的区间都取出来显然不行,时间复杂度爆炸。维护起来更奇怪。 可以考虑二分答案——先二分出这个B数组中第M大的数x,然后判断行不行 阅读全文
摘要:
HDU 6237 A Simple Stone Game 题目大意: 有n堆石子,每一堆都有ai块。 每次可以任意将一个石子从一堆移动到另外一堆,代价为1. 让最后的每一堆石子都是一个质数的倍数(默认0为任何数的倍数) 求最小代价? 思路: 因为如果有一个数x,最后每一堆石子的个数都是它的倍数,那么 阅读全文
摘要:
wordcloud库 w = wordcloud.WordCloud() 表示一个文本对应的词云对象w 可以以WordCloud对象为基础,配置参数,加载文本,输出文件 w.generate(txt) 向WordCloud对象w中加载文本txt(输入文本应当是以空格分隔的大字符串) w.to_fil 阅读全文
摘要:
文本文件VS二进制文件 文本文件和二进制文件都只是文件的展示方式 本质上,所有文件都是二进制形式存储 形式上,所有文件采用两种方式展示 文本文件 由单一特定编码组成的文件,如UTF-8编码 由于存在编码,也被看成是存储着的长字符串 比如说txt文件,py文件 二进制文件 直接由比特0,,组成,没有统 阅读全文
摘要:
集合 集合类型和数学中的集合概念一致 几何元素之间无序,每个元素唯一,不存在相同元素 集合中的元素是不可修改的 用表示,元素之间用逗号分隔 建立空集合必须使用set()函数 B = set("pypy123") //{'1','p','2','3','y'} 集合的运算操作 A|B 集合的并 A-B 阅读全文
摘要:
函数的定义 函数一段代码的表示 函数是一段具有特定功能的、可重复使用的语句组 函数定义时,所指定的参数是一种占位符 函数定义后,如果不经过调用,不会被执行 函数定义时,参数是输入,函数体是执行,结果是输出(IPO的实现) 函数的使用及调用过程 调用时要给出实际参数 定义函数时参数如果不确定的话可以使 阅读全文
摘要:
程序的分支语句 条件组合保留字 and(&&) or(||) not(!) 异常处理的基本使用 try : <语句块1> except : <语句块2> try : <语句块1> except<异常类型> : <语句块2> eg: try : num = eval(input("请输入一个整数:") 阅读全文
摘要:
最近开始看mook上面的python程序设计课程啦qwq unicode编码 统一字符编码,即几乎覆盖所有字符的编码方式 >>> "1+1=2"+chr(10004) '1+1=2✔' >>> str(ord("✔")) '10004' >>> for i in range(0,12): print 阅读全文
摘要:
【题目描述】 老虎和蒜头是好朋友。 众所周知,蒜头经常给老虎出一些题目,而老虎也常常被难倒,作为捧杯之王的老虎难免心有怨怼。今天,老虎发现了蒜头的一个序列 a 。虽然老虎不知道这个序列是用来做什么的,但老虎还是希望搞点破坏——他计划把序列 a 全部变成 0 。 然而,对蒜头的序列进行操作绝不是 阅读全文
摘要:
题目链接: "戳我" prufer序列的问题。 prufer序列和无根树是一一对应的。而且在树中度数为k的点,在prufer序列中的出现次数为$k 1$次。 根据有限制次数的可重复元素的排列计数公式,我们可以知道答案是$\frac{(n 2)!}{(du[1] 1)\times (du[2] 1)\ 阅读全文
摘要:
我们考虑可并堆维护,从深到浅贪心选取。 用priority_queue启发式合并的话,是60pts: 阅读全文
摘要:
题目链接: "戳我" 题目描述 现在有n个字符串,你需要从中选出一些字符串,使得选出的字符串能被分组,满足每组大小为2,且可以从每组选出该组的两个字符串的一个非空公共后缀,使得每组选出的串互不相同。 输入格式 第一行一个整数n。 接下来n行,每行一个字符串。 输出格式 输出一个整数,表示答案。 样例 阅读全文
摘要:
题目链接: "戳我" 小注:其中部分(大括号不换行的)代码是BLUESKY007神仙写的。 咕 CF1184 A1 直接枚举,以根号的时间复杂度判断即可。注意x,y都是正整数。 CF1184 A2 我们可以知道对于k,如果$gcd(k,n)$可以的话,那么k一定也可以。 所以我们就把枚举k才能计算的 阅读全文
摘要:
题目链接: "戳我" 首先注意 这张图有可能不连通!! 然后我们考虑对于每一个联通块,首先任意确定一个点,给它设最终值为x,然后进行搜索。(因为对于一个联通块而言,我们知道一个点的最终值,那么整个联通块上面点的值就都知道了) 我们发现这些值只有 x+b或者x+b两种情况。 当一个点被访问到了第二次, 阅读全文
摘要:
题目链接: "戳我" 【问题描述】 小A在玩打地鼠游戏。有一个n×m的网格,每个位置上地鼠都会要么冒出头要么缩进去。地鼠很狡猾,每次小A选一个地鼠冒出头的格子(x,y)把它打下去,但同一行同一列的地鼠全都会冒出头来。 小A发现这个游戏好像怎么都玩不完。这个时候小B过来向他展示真正的技术了。小B当然也 阅读全文
摘要:
题目链接: "戳我" 【问题描述】 有n座山,m只猫和p个工作人员。山从左往右编号为1∼n,山i和i−1之间的距离是di米。 有一天,猫都到山上去玩了:第i只猫会到山hi去,并一直玩到时间ti,之后就在那座山等待工作人员来接它。 每个工作人员的线路都是从1走到n,并带走沿途任意只在等待的猫。工作人员 阅读全文
摘要:
题目链接: "戳我" 我们考虑按照编号依次加点,然后维护一个栈。 预设生成树的颜色为color。 对于当前点x,如果它和栈首的点连边颜色相同,那么他们的连边可以作为生成树上面的边,点i已经连接,直接break掉即可。 如果和栈首的点连边颜色和预设颜色不同,那么这条边是不能连的,弹栈。但是前面的点已经 阅读全文
摘要:
题目链接: "戳我" 决策单调性 ~~(蒟蒻终于会写决策单调性啦!考试全场切这题就我不会啊嘤)~~ ~~(证明?不会啊,自己打表看QAQ)~~ 44pts $O(n^2)$代码: cpp include include include include include define MAXN 1010 阅读全文
摘要:
题目链接: "戳我" 30pts做法: 我们设$dp[i]$表示前i个句子最小的代价,然后再记录一个当前的最小值是从哪里转移过来的。 注意输出的行末不带空格,以及要用long double(double和long long都会炸) cpp include include include includ 阅读全文
摘要:
题目链接: "戳我" cpp include include include include include include using namespace std; define MAXN 8010 define mod 1000000007 define ll long long int n,m 阅读全文
摘要:
题目链接: "戳我" 当 $max(n, m) \ge 3$ 时,可以如下构造: 考虑下面这样三个矩阵,红 + 蓝 − 绿得到的矩阵是一个第一行和最后一行全是 1,其他地方全是 0 的矩阵。 那么如果需要把中间某个位置变成 1,可以在红或蓝矩阵中的对应位置加一个 1。 如果需要把第一行或最后一行某个 阅读全文
摘要:
题目链接: "戳我" 给你两个序列a,b,其中a初始是全空的,b是一个排列。 现在有两种操作: 1、给一个区间的a数组加上1 2、求一个区间$\sum a[i]/b[i]$ 区间操作想到用数据结构维护。 我们可以知道,$a[i]/b[i]$只有在a[i]增加够一个b[i]的时候才会多1的贡献,但是我 阅读全文
摘要:
mcfx神仙的题qwq 题目链接: "戳我" 首先,我们知道30%的分还是挺好做的 直接枚举根,然后dfs一遍以$O(n)$的时间复杂度求出来有多少神仙点 代码如下: cpp include include include include include define MAXN 100010 usi 阅读全文
摘要:
题目链接: "戳我" 就是一个树形DP了..... 我们设$f[i][j][0/1][0/1]$表示当前点i,子树中一共放了j个,这个点是否放了,这个是否被覆盖了 然后DP转移就很简单了(详细可以看代码QAQ) 但是为什么这样子不是$nk^2$的......? ~~我也不会啊,于是去看了看 "神仙的 阅读全文
摘要:
题目链接: "戳我" 这是同学出的题,真心神仙qwq 我们进行二进制分组,因为如果答案是$k_i$和$k_j$之间的距离的话,他们的编号必定在某一位上不一样。 所以这样子做是对的。跑dij的次数降低到2 log次。 不过最好还是不要像我一样懒,分组之后重新加边,不加O2会慢死的........ cp 阅读全文
摘要:
这一场的D题真的好惨烈.......FST了几百人qwq......... 题目链接: "戳我" A Stickers and Toys 一个egg里面有可能仅有toy,或者仅有sticker,或者两者都有.给你egg,toy,sticker的数量,你不知道具体每个egg里面的情况.现在问你最坏情况 阅读全文
摘要:
题目链接: "戳我" 首先那个n==k很好写:对于一个题意中的序列,最少的步数是多少? 从大到小判断即可.(代码可以看subtask1) ~~然后我就不会写了~~ ~~于是滚去看了看题解~~ 发现对于一个局面,我们总是可以计算出它的最小关灯次数k,那么也就是说,只有这k次有用. 或者这么理解:有n个 阅读全文
摘要:
题目链接: "戳我" 从小到大贪心. 注意到放入一个数之后,它往上的行就不能放这个y坐标之后的数了,往下的行不能放这个y坐标之前的数qwq cpp include include include include include define MAXN 5001 using namespace std 阅读全文
摘要:
题目链接: "戳我" $(x[0],1)$乘上 $ \begin{pmatrix} a & 0\\ c & 1\\ \end{pmatrix} $ 的n次方就行了 记得乘法可能炸long long,所以要快速乘qwq cpp include include include include inclu 阅读全文
摘要:
题目链接: "戳我" 一个优先队列优化DP ~~一定要注意第二关键字的排序啊!!我真的是菜,被坑了好久qwq~~ 设$f[i]$表示前i个的最小答案,从前面选择的时候第一关键字是f[j]的大小,第二关键字是要确保[j+1,i]区间产生的贡献尽可能小 cpp include include inclu 阅读全文
摘要:
题目链接: "戳我" ~~和NOI2010航空管制很像,所以我们照搬一下那个题的思路~~ 问最优的制作顺序?~~当然不是字典序最小好吗,想什么呢~~ 题目中要求编号小的尽量提前做.但是如果我们正着拓扑排序肯定是不行的(比如说现在有x,y都入度为0了,选了x之后就能选1,选了y之后就能选2,在保证复杂 阅读全文
摘要:
题目链接: "戳我" 首先第一问是很好做的,因为题目中保证有合法解,所以我们尽量让期限晚的航班晚起飞. 所以就是反着建图,按照拓扑序给每个航班安排时间. 第二问要求问所有合法解中每个航班最早什么时候能起飞. 那么还是参考第一问的思路,额外的一点就是让能安排在它后面的航班都安排到后面.所以就是先限制不 阅读全文
摘要:
题目链接: "戳我" 对于一个排序二叉树来讲,它的中序遍历对应的序列是可以确定的. 我们知道如果求一个访问频率最低的(也就是没有修改),直接就区间DP即可.$dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+sum[j] sum[i 1])$(其中sum表示访问频率 阅读全文
摘要:
题目链接: "戳我" 60pts 有一点容易写错的小细节: 比如说求全局的段数的时候,如果只有一种颜色,那么当左右端点相等时,就不要ans 了。 注意右端点小于左端点的情况。 ``` 阅读全文
摘要:
题目链接: "戳我" 先化简一下题意:一共n次操作,每次按照给定方向可以走[0,r l+1]个格子,障碍物格子不能走,问到最后最大的路径长度为多少? 60pts做法: 设$dp[i][j][k]$表示在执行完第k段的操作之后,的最大答案。 $dp[i][j][k]=max(dp[i][j][k],d 阅读全文
摘要:
题目链接: "戳我" 我们先做一个DP,就能求出来到前i位的最长上升子序列的长度(maxx[i]数组)。 然后我们考虑求最小割——给每个点拆点,如果要割掉这个点,就相当于把in[i] out[i]这条边给割掉了。 然后如果在最长上升子序列中,该位下面可以接很多,那么就从该位代表的out向下面可以接的 阅读全文