Blank 定义dp[i][j][k][t]dp[i][j][k][t]dp[i][j][k][t]代表填完前ttt个位置后,{0,1,2,3}\{0,1,2,3\}{0,1,2,3}这4个数字最后一次出现的位置,排序后为i,j,k,t(i<j<k<t)i,j,k,t(i<j<k<t)i,j,k,t(i<j<k<t)的方案数目,则按照第t+1t+1t+1位的数字的四种选择,可以得到四种转移. 对于限制可以按照限制区间的右端点分类,求出dp[i][j][…
构造题: 比赛的时候只想到:前面一样的数,后面 是类似1,2,3,4,5,6....t这 既是:t+1,t+1...,1,2,3,...t t+1的数目 可能 很多, 题解时YY出一个N 然后对N  判断. seg{Li*(Li-1)} = n*n+n-2*k=d; 每次跑sqrt(n)找到 最近的 d ,D_new=d-Li*(Li-1); 这样一定能解的:d 一定是偶数,Li*(Li-1)也一定是偶数,2*1=2; 还有seg(Li)=n; 当Li=1是 Li*Li-Li=0; 加入一些1就…
线段树分治. 把size看成时间,相当于时间 $l$ 加入这条边,时间 $r+1$ 删除这条边. 注意把左右端点的关系. #include <bits/stdc++.h> ; int X[N], Y[N], top; struct DSU { int fa[N], sz[N]; int find(int x) { while (x != fa[x]) x = fa[x]; return x; } void merge(int x, int y) { x = find(x), y = find(…
由于每个元素贡献是线性的,那么等价于求每个元素出现在多少个异或和为$0$的子集内.因为是任意元素可以去异或,那么自然想到线性基.先对整个集合A求一遍线性基,设为$R$,假设$R$中元素个数为$r$,那么任取一个不在$R$内的元素,$R$中肯定存在一种取法能和这个元素异或和为$0$.同理,取定一个不在$R$内的元素,再随便取另外任意个不在$R$内的元素,$R$内仍然存在一种取法使得这个异或和为$0$.那么每个不在$R$内的元素包含在$2^{n - r - 1}$个集合内(其他不在$R$内的元素可以…
第一场多校,出了一题,,没有挂零还算欣慰. 1001,求最小生成树和,确定了最小生成树后任意两点间的距离的最小数学期望.当时就有点矛盾,为什么是求最小的数学期望以及为什么题目给了每条边都不相等的条件.看了题解以后才明白:“首先注意到任意两条边的边权是不一样的,由此得知最小生成树是唯一的,最小生成树既然 是唯一的,那么期望其实也就是唯一的,不存在什么最小期望.”那么第一问最小生成树只要克鲁斯卡尔算法即可,第二问,总的路的条数是n*(n-1)/2,然后确定所有路的权值和的方法是:枚举每一条边,这一条…
Solved A HDU 6298 Maximum Multiple Solved B HDU 6299 Balanced Sequence Solved C HDU 6300 Triangle Partition Solved D HDU 6301 Distinct Values   E HDU 6302 Maximum Weighted Matching   F HDU 6303 Period Sequence Solved G HDU 6304 Chiaki Sequence Revisi…
Problem F. Grab The Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 2004    Accepted Submission(s): 911 Problem Description Little Q and Little T are playing a game on a tree. There are …
Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1770    Accepted Submission(s): 1089 Problem Description Alice and Bob are playing a game. The game is played on a set of positive integers…
Maximum Multiple Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3985    Accepted Submission(s): 926 Problem Description Given an integer n, Chiaki would like to find three positive integers x,…
1001,只要枚举区间即可.签到题,要注意的是输入0的话也是“TAT”.不过今天补题的时候却WA了好几次,觉得奇怪.原来出现在判断条件那里,x是一个int64类型的变量,在进行(x<65536*65536)的时候,后面的已经爆int了!因为如果写的是int类型他就默认是int类型的.所以要写成(ll)65536*65536或者直接4294967296,因为如果这个值是ll类型的,就自动用ll类型来保存了(另外要注意的是(ll)(65536*65536)也是错的!因为后面已经爆int了,再转成ll…