08 2019 档案
摘要:https://codeforc.es/gym/101982/ A Exam 很显然,要把大家做一样的优先认为大家都是对的,大家做不一样的认为自己是对的。最后假如对方有剩余的题是对的那么就要从中减去。 cpp include using namespace std; int k; char s[10
阅读全文
摘要:https://codeforc.es/gym/102307 最后5题收尾了,大概率铜。其中有2题是签到手速题。有一题是抄模板的表达式求值,写一个分数类随便过。 比较有趣的是下面的: "G. Graduation" 题意:一共有n门课,每门课有至多1门先修课,没有先修课的用0表示。学习一门课的条件是
阅读全文
摘要:https://www.acwing.com/problem/content/251/ 题意:给一段长度至多40000的序列,每次强制在线访问一段区间[L,R],询问区间的众数(若有多个,输出最小的),询问至多50000次。 思路:lyd给的方法一,一种全新的分块思路。众数不可以通过线段树操控,当然
阅读全文
摘要:```cpp include using namespace std; typedef long long ll; const int N = 9; const int MaxN = N N N + 10; const int MaxM = N N 4 + 10; const int maxnode
阅读全文
摘要:https://www.acwing.com/problem/content/100/ cpp include using namespace std; typedef long long ll; void U(ll, ll, int, ll, ll, ll, ll); void D(ll, ll,
阅读全文
摘要:https://www.acwing.com/problem/content/259/ 这道题蛮有趣的。 思路之一,是边带权并查集,相当于给点黑白染色,经过一条边权为1的边则改变一次颜色,规定到根节点边权和为0的为黑色。这样做的时候需要注意,合并两个不同并查集的x,y的时候,需要注意现在的黑白色只是
阅读全文
摘要:https://www.acwing.com/problem/content/152/ 思路:开一个pair栈,第一个元素存字符的种类,第二个元素存“这个字符之后曾经匹配过的最大长度”。 为什么是“这个字符之后”,我也很难说清楚,但是感觉这样是对的。某一次遇到右括号弹栈之后,顺便把栈顶的最大长度也u
阅读全文
摘要:实际上并不是主席树……只是有点像。 cpp include using namespace std; typedef long long ll; define mid (l+r 1) //离散化之后的值是大一点的 const int MAXN = 200000 + 5; int T[MAXN], t
阅读全文
摘要:一种可以在区间上找名次的数据结构。 cpp include using namespace std; typedef long long ll; namespace Treap { define ls ch[id][0] define rs ch[id][1] const int INF = 214
阅读全文
摘要:http://codeforces.com/contest/1208 C. Magic Grid 一开始想着直接排,结果20的时候纵向就翻车了。但4个连续自然数一组的思路是没问题的。一个偶然的机会,发现其实相差是纵向4的几个异或起来也是0。所以就是16个连续自然数一组自由构造。 来一个迷惑性极强的构
阅读全文
摘要:目录 "1001 ^&^" "1002 array" 1003 K th occurrence "1004 path" "1005 huntian oy" "1006 Shuffle Card" "1007 Windows Of CCPC" "1008 Fishing Master" 1009 Ka
阅读全文
摘要:区间修改线段树: cpp include using namespace std; typedef long long ll; define lt ls, l, m define rt rs, m + 1, r define ls (o 1; st[ls] += lazy[o] (m l + 1);
阅读全文
摘要:鉴于水平有限,可能会有问题。 cpp include using namespace std; typedef long long ll; define ls ch[id][0] define rs ch[id][1] const int INF = 1e9; const int MAXN = 10
阅读全文
摘要:https://blog.csdn.net/weixin_43093481/article/details/82229718 貌似好像也不是很完全的样子
阅读全文
摘要:```cpp include define lc (o 1; sum[lc] = (1ll lz[o] (m l + 1) + sum[lc]) % mod; sum[rc] = (1ll lz[o] (r m) + sum[rc]) % mod; lz[o] = 0; } } void build
阅读全文
摘要:一个字符串的最小循环表示: cpp include using namespace std; typedef long long ll; int n; int a[600005]; int min_representation() { int i = 0, j = 1, k = 0; while(i
阅读全文
摘要:链接:https://scut.online/p/432 题意:给一个长度不超过1000的字符串,从中间切开前缀后缀(各至少一个字符),问每个切法中前缀后缀的相同的子串对的个数。 重新理解后缀自动机。 1.后缀自动机里面,endpos表示这个节点作为结束位置出现的次数。一个maxlen更长的节点出现
阅读全文
摘要:```cpp include using namespace std; define ll long long int a[20]; ll dp[20][MAXS1][MAXS2]; ll dfs(int pos,int s1,int s2,bool lead,bool limit) { if(po
阅读全文
摘要:"1005 Welcome Party" 解题过程:先是考虑到一个n^2的做法,是可以的。首先下面会把去唱歌的人里面唱歌值最高的称作“主角”。首先枚举每个人作为主角,然后唱歌值比主角高的必须要丢到相声里面。然后相声里面就已经有一个最大值了,假如相声值最大值已经超过了主角的唱歌值,那么这个差就更新答案
阅读全文
摘要:目录 "1001 Blank" "1002 Operation" "1004 Vacation" "1005 Path" "1001 Blank" 不会做,看题解。 设dp[i][j][k][l]表示4种颜色出现的最后的位置分别是i,j,k,l的方法数,保证i =j =k =l。其实不取=号,因为同
阅读全文
摘要:"1012 Stay Real" 直接贪心就可以了,每次取最大那个。 cpp include using namespace std; typedef long long ll; int h[100005]; int d[100005]; priority_queue pq; int main()
阅读全文
摘要:"链接" B Beauty Values 水题,算一下各个元素贡献,发现恰好可以O(n)统计的。
阅读全文
摘要:"1010 Quailty and CCPC" 签到题,但是好像踩了一些什么坑。就是nth_element的应用,要注意nth_element的时候,n是从0开始的。测试如下: 计数从1开始,生成1~100然后打乱。 cpp include using namespace std; typedef
阅读全文
摘要:"1005 Rikka with Game" 题意:给定一个字符串s,两个人轮流操作,每次操作有两种选择:1、终止操作进行结算;2、选择一个字符,将其变成下一个字符('a' 'b','b' 'c',...'z' 'a')。第一个操作的人想要s的字典序尽可能小,第二个操作的人想要s的字典序尽可能大,两
阅读全文
摘要:求解方程 $ x^2 = a \space mod \space p $ ,其中p是质数,无解返回 1,有解则返回两个解之中较小的那一个。事实上假如p是奇质数的话,两个解相等仅当x=0的时候,完全可以特判掉。 cpp include using namespace std; typedef long
阅读全文
摘要:解k个线性同余方程构成的线性同余方程组,每个方程形如: $x_i = c_i \space mod \space m_i$ ,假如有解输出最小非负整数解,否则输出 1。 一个更不容易溢出的版本的扩展中国剩余定理: cpp include using namespace std; typedef lo
阅读全文
摘要:这个是二进制版本的基数排序,输出成bitset方便观察这个过程会好一些。这个MAXK不太清楚应该是怎么样做的,到时候具体分析移位之后的结果比较好。目前看来应该是取最高有效二进制位。在调用的时候和普通的sort一样调用就可以了。但实际上下面的好像有多余的拷贝操作,要是滚动两个数组,或许可以省掉,不过这
阅读全文
摘要:模板 数学 [模板 整除分块] "模板 组合数" "模板 线性筛" "模板 卢卡斯定理" [模板 自适应辛普森积分] "模板 二次剩余" "模板 扩展欧几里得算法" "模板 扩展中国剩余定理" "模板 扩展大步小步算法" "模板 min25筛" "模板 多项式" "模板 快速傅里叶变换" "模板 快
阅读全文
摘要:待补
阅读全文
摘要:待补
阅读全文
摘要:待补
阅读全文
摘要:待补
阅读全文

浙公网安备 33010602011771号