摘要:
【正难则反】,将操作【等价】转化为一开始所有人都在0号房间 【发现性质】,后缀和%i始终为0 由于百度之星赛制的特殊性(提交后可以看到每个测试点的得分情况),或许可以借此验证自己的想法 点击查看代码 #include <bits/stdc++.h> using namespace std; int 阅读全文
摘要:
10!=3628800 \(10^6\)级别 中国剩余定理可用于处理没有平方因子的合数为模数的情况 本题中的模数2004含有平方因子,可以先用扩展Lucas定理求组合数再用中国剩余定理,更简便的方法是,考虑到本题中只需要除以n!,在过程中对2004*n!阶乘取模,最后再除以n! 不要局限自己的优化思 阅读全文
摘要:
E题有多次对不同区间的询问,显然不可能通过一次排序解决问题呀 阅读全文
摘要:
点击查看代码 #include <bits/stdc++.h> using namespace std; int a[1000005]; int root,tot; int read1() { char cc=getchar(); while(!(cc>=48&&cc<=57)) { if(cc== 阅读全文
摘要:
在【区间翻转】一题中,序列始终为二叉平衡树的中序遍历 阅读全文
摘要:
点击查看代码 #include <bits/stdc++.h> using namespace std; struct t1 { int l,ta; long long len,cnt; map<char,int>q; }t[2000005]; vector<int>a[2000005]; int 阅读全文
摘要:
独立过了一道NOI的题,开心~ 我的做法是后缀数组+单调栈+st表,并没有用到并查集 点击查看代码 #include <bits/stdc++.h> using namespace std; string s; int sa[300005],rk[20][300005],r[300005],n,w, 阅读全文
摘要:
添加分隔符的目的是给偶数长度的回文串一个中心,本题只要求奇数长度的回文串,那么这一步就可以省略了;而且,字符串加法非常慢 利用回文串的另一半所携带的信息,注意不能超出回文串的范围 边修改边询问,才需要用到高级数据结构;如果所有修改都在询问之前,就不需要了 点击查看代码 #include <bits/ 阅读全文
摘要:
和“阿狸的打字机”那道题很类似,也是把询问全部放到树上,拓扑排序一遍求解 点击查看代码 #include <bits/stdc++.h> using namespace std; string s; int t[200005][26],tot,fail[200005],ans[200005],cnt 阅读全文
摘要:
单向边森林不能通过dfs找环 抽象的题目需要通过模拟样例理解题意 列表模拟样例 链式前向星双倍空间(边&边的访问函数) * 点击查看代码 #include <bits/stdc++.h> using namespace std; const int mod=1000000007; long long 阅读全文