09 2019 档案
摘要:"CF963C" 首先假设横向被分成p块纵向被分成q块,$C_i$为横向长度为$i$的方块个数,$D_i$为纵向长度为$i$的方块个数 $p\times q=$总块数T,q要是所有$C_i$的gcd的因数,p是所有$D_i$的gcd的因数 然后随手一交发现不对,比如$1\times 1=2, 1\t
阅读全文
摘要:"CF986C" 给$A_i$连一条向补集的边和子集的边,然后dfs求联通块数 cpp include include include include using namespace std; const int M = 7000001; int n,m,k,f[M],s[25],N,g[M],d[
阅读全文
摘要:由于rating限制,和慎老师用小号打了一场div 3 从A到F都没啥思维含量。。感觉最难想的就是C了?? "CF1216C" 考完以后想hack一下这道题,然后发现满屏都是分类讨论 我大概是写不动 orz 有一个想法就是求出第一个黑块和白块的交S1,第二个黑块和白块的S2,两个交的交S3,然后如果
阅读全文
摘要:"CF1168C" 从后往前扫一遍维护$f[x][k]$表示从开始x至少要走到那个位置才能到达一个第$k$位是1的数 cpp include include include include using namespace std; int n,m,a[310001],w[20][20],e[20],
阅读全文
摘要:"CF1129E" 以1为根,n次可以找出所有子树大小 按照子树大小排序保证x的儿子都在x前面 每次二分找x最右边的儿子,找完打个标记 cpp include include include include using namespace std; const int M = 1000001; in
阅读全文
摘要:"CF1205B" 由鸽巢原理n比较大的时候直接输出3 然后剩下的就可以跑最小环 cpp include include include include define LL long long using namespace std; const int inf = 0x3f3f3f3f; int
阅读全文
摘要:"CF1215D" 两个整数的和是偶数,他们的差也是偶数 博弈好难啊qaq 我好zz啊qaq 如果M放最后一个M胜 现在和比较大的一边如果空位还多的话M胜 M可以通过在大的那边放9来消掉那边所有的空 由于第一句话(...)这之后还是M先手 由于M会放些什么数是不可控的,所以唯一有把握的就是无论他放什
阅读全文
摘要:"CF322F" 拉格朗日插值 cpp include include include include define M 1100001 define LL long long define P ((LL)1e9+7) using namespace std; int n,m,k; LL f[M],
阅读全文
摘要:"CF280C" 怎么就是板子题了啊qaq反正我不会就是了 引自 "messuarez" dalao的题解 我们随机生成一个1~n的排列, 然后从左到右枚举点,如果没有被染黑就把它染黑,次数+1 则答案即为次数的期望(易证) 根据期望的线性性:总次数的期望=每个点被染黑次数的期望的和 由于每个点只会
阅读全文
摘要:"CF914D" 用线段树乱搞一下就行qwq cpp include include include include using namespace std; const int M = 3000001; int n,m,k,a[M],d[M],al,ar,tp,s; int gcd(int x,i
阅读全文
摘要:"CF1179D" 树形dp 基环树上的不在环上的每棵子树内的两个节点间只有一条路径,其他的是两条 然后就可以dp的找环上路径 cpp include include include include define LL long long using namespace std; const int
阅读全文
摘要:"CF1173C" 由于牌堆只能从最后插牌,所以插牌方法非常显然 首先特判一下牌堆有没有一个合法的后缀,如果有的话再判断一下手中的牌和合法后缀之前的牌的排列顺序能不能有效的继续续下去 然后排除了以上情况就可以直接找$max(i b_i)$就是最早在哪个时刻开始往里按顺序加牌构造递增序列 cpp in
阅读全文
摘要:"CF1163E" 首先存在p的要求是能建一个满的线性基而且线性基用到的数不能大于等于$2^x$ 这很好解决,只要把所有数排序后从小到大的插进线性基,然后每次删掉所有原数大于$2^x$的数并调整x 至于输出p,由于能插进线性基里的数都是线性不相关的,随便输出一下就行 cpp include incl
阅读全文
摘要:题意: 有排列p, 令$nxt_i$为$p_i$右侧第一个大于$p_i$的数的位置,若不存在则$nxt_i=n+1$ 现在整个p和nxt的一部分丢失了,请根据剩余的nxt,构造出一个符合情况的p,输出任意一解。 使有解的充要条件是对于每一个i不存在$j\in(i,nex_i)$满足$nex_j ne
阅读全文
摘要:Description 到了难得的假期,小白班上组织大家去看电影。但由于假期里看电影的人太多,很难做到让全班看上同一场电影,最后大家在一个偏僻的小胡同里找到了一家电影院。但这家电影院分配座位的方式很特殊,具体方式如下: 1. 电影院的座位共有K个,并被标号为1…K,每个人买完票后会被随机指定一个座位
阅读全文
摘要:题目描述 四维空间真是美妙。 现在有nn个四维空间中的点,请求出一条最长的路径,满足任意一维坐标都是单调不降的。 注意路径起点是任意选择的,并且路径与输入顺序无关(路径顺序不一定要满足在输入中是升序)。 路径的长度是经过的点的数量,任意点只能经过一次。 动态插点+替罪羊重构kdtree 刚学kdtr
阅读全文
摘要:Description 给定一棵以1为根的有根树,初始所有节点颜色为1,每次将距离节点a不超过l的a的子节点染成c,或询问点a的颜色 区间修改单点查询kdtree cpp include include include include include include define LL long l
阅读全文
摘要:Description 一个长度为n的大数,用S1S2S3...Sn表示,其中Si表示数的第i位,S1是数的最高位,告诉你一些限制条件,每个条 件表示为四个数,l1,r1,l2,r2,即两个长度相同的区间,表示子串Sl1Sl1+1Sl1+2...Sr1与Sl2Sl2+1Sl2+2...S r2完全相
阅读全文
摘要:Description 给出两个字符串,求出两个字符串的共同回文子串的最长长度和合法且最长的不同子串数量 四舍五入大概是道语文题 先跑一遍马拉车,求以每个位置为中心的最长回文串长度 然后二分长度顺便求一下第二问 我 不 会 写 哈 希 表 啊 怎 么 世 界 对 map 这 么 这 么 不 友 好
阅读全文
摘要:题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1 include include include define LL long long using namespace std; int a[100001],
阅读全文
摘要:Description 首先去除顺序不同算一种的麻烦,就是最后答案除以总片段数$2^m 1$ 设$f_i$表示安排$i$个片段的合法种类 那么对于任何一个包含$i 1$个片段的序列(除了发$f_{i 1}$的那几个合法序列)都能再找到唯一一个片段使得整个序列变为合法序列(那种和旋是基数个就选上)。但
阅读全文
posted @ 2019-09-01 22:03
ZUTTER☮

浙公网安备 33010602011771号