- 博客(32)
- 收藏
- 关注
原创 Treap模板(旋转)
目前见过作为名次树的实现,其他暂时没见过←_←#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define ull unsigned long long#de
2017-08-28 23:51:23 371
原创 一些关于数学的小结论(updating)
组合数C(n,m)的奇偶性:(n&m)==m是奇数,否则偶数对于变量a,常量b,c,若a-(a%b)<c,则更小的a也满足此式计算n中二进制位1的个数int countBits(int n) { int count = 0; while(n != 0) { n = n & (n-1); count++; } re...
2017-08-28 17:24:19 289
原创 Ch’s gift HDU - 6162 树剖 多校#9
赛中init写漏了一行,多组样例T在第二组读入(怪我懒得改模板。。。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define ull unsigned
2017-08-22 21:46:44 224
原创 String HDU - 6096 多校#6 自动机
想总结的太多了。。。白天再来吧#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define ull unsigned long long#define pb
2017-08-22 02:29:50 265
原创 Rikka with String HDU - 6086 多校#5 AC自动机DP
有之前的铺垫这题感觉好做多了。。跟之前不同的就在于对称轴节点要特殊标记#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define ull unsigned
2017-08-21 19:37:07 298
原创 DNA repair HDU - 2457 自动机DP
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define ull unsigned long long#define pb push_back#define
2017-08-20 22:34:06 195
原创 Ring HDU - 2296 AC自动机DP路径记录
构造n长串,若含有模板串x可获得a[x]的价值,同价值取字典序最小,输出路径dp[i][j]表示长度i转移态j的最大价值,对应一个path[i][j]记录路径#include#include#include#include#include#include#include#include#include#include#includeusing namespace st
2017-08-20 21:55:35 290
原创 A Secret HDU - 6153 TLE的AC自动机解法
赛中听说反转之后是前缀匹配就想敲自动机了,还好没真做赛后试了下自动机,居然真T了,删了可惜存一下吧。。。、回去看看自动机复杂度吧。。。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define
2017-08-20 19:58:06 336
原创 Wireless Password HDU - 2825 AC自动机DP计数
给m个单词,问构造长为n且含有至少k个单词的串的种数朴素的自动机上DP,遍历了自动机的所有状态,dp[i][j][k]:长为i的串匹配到状态j,出现k编码状态word的串的种数#include#include#include#include#include#include#include#include#include#include#includeusing nam
2017-08-18 22:33:39 202
原创 考研路茫茫——单词情结 HDU - 2243 AC自动机/特征字符串构造计数/等比矩阵求和
细节都在注释里了,这条跟上一条挺像的,都是用自动机构造转移矩阵,还是那个要点:trie图上u号节点转移到v号节点时,如果形成特征串就在矩阵的mat[u][v]+1#include#include#include#include#include#include#include#include#include#include#includeusing namespace
2017-08-18 21:36:19 179
原创 DNA Sequence POJ - 2778 AC自动机构造矩阵
构建一个长度为n的串s,不能包含模板串,问一共多少种s把所有病毒节点和以病毒节点为后缀的节点标为病毒节点从编号i的节点走到j时,如果i,j都不是病毒节点,这样的走法才是安全的,mat[i][j]++其他就是一些矩阵的知识了#include#include#include#include#include#include#include#include#include
2017-08-17 23:48:31 221
原创 HDU 6138 Fleet of the Eternal Throne 多校#8 AC自动机
给n个串,每次询问x号串和y号串的最长公共子串的长度,这个子串必须是n个串中某个串的前缀做法是把n个串建成AC自动机,前缀树中每个节点都当做结尾节点,val赋为trie树深度然后把x串丢进自动机里,把匹配到的前缀节点染个色,再把y串丢进去,遇到同样颜色的前缀节点就更新一下答案#include#include#include#include#include#include#i
2017-08-17 22:05:58 289
原创 Rikka with Candies HDU - 6085 多校#5 bitset优化01状态
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define pb push_back#define FOR(a) for(int i=1;i<=a;i++)c
2017-08-16 19:22:45 197
原创 Wavel Sequence HDU - 6078 多校#4 dp
参考小坏蛋_千千定义dp[i][j]:a[i]与b[j]作为共同串结尾的种类数关键是要弄清每一轮j循环中,b[j]与a[i]不等的时候要往贡献里怎么加东西,而只有在a[i]==b[j]的时候,才会把贡献登记进答案举个例子A:1 5 3B:4 1 1 5 3在i=2,j=2的时候,b[j]#include#include#include#include#inc
2017-08-16 00:05:18 216
原创 Counting Divisors HDU - 6069 多校#4 因数分解算贡献
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define pb push_back#define FOR(a) for(int i=1;i<=a;i++)c
2017-08-15 21:39:01 187
原创 Codeforces Round #424 E. Cards Sorting 线段树/数据结构瞎搞/模拟
第一眼感觉是个水题过程确实也无脑,但是细节麻烦。。。就是循环找最小值,删除,算步数而已不过转移位置的计算我试了好几种方法,才写出一个对的。。提交时一度抱着求求你让我过吧这种心态(#include#include#include#include#include#include#include#include#include#include#include
2017-08-15 00:22:52 269
原创 Codeforces-834D The Bakery 线段树优化DP
给n个数,让你分成k个子段,让每个子段中不同数字个数的和最大dp[i][j]:前i个元素分成j段的最大和考虑第j段,他的开头为k,那么dp[i][j]=max{dp[k][j-1]+sum[k+1][i] | 0节点i维护dp[k]+sum(k+1,i),0#include#include#include#include#include#include#includ
2017-08-14 21:15:12 334
原创 度度熊保护村庄 HDU - 6080 floyd最小环/叉积判左右
点在向量同侧的话就把向量的两个点连一条路,最后跑一次floyd求到自己的最小环不知道为什么500^3跑得飞快#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#
2017-08-14 16:49:33 391
原创 Codeforces 839D Winter is here 组合数公式/容斥
C(n,1)+2*C(n,2)+3*C(n,3)+……+n*C(n,n)= ((1+x)^n)求导,x=1{4,8}中算到2的部分可以在4的部分减掉,也就是从大到小算,去掉自身倍数的贡献#include#include#include#include#include#include#include#include#include#include#includeusin
2017-08-14 15:13:30 286
原创 XXFSDDX HDU6119 区间合并模板(交叉区间去重)
原来要这样写啊(#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long#define pb push_back#define FOR(a) for(int i=1;i
2017-08-13 20:43:22 531
原创 The xor-longest Path POJ - 3764 字典树异或
//#include//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long lon
2017-08-09 22:18:17 182
原创 Xor Sum HDU - 4825 异或字典树模板
#include//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long
2017-08-09 20:56:34 275
原创 Kanade's trio 2017多校#3 trie
求数组中i枚举插入ak,让ak中每一位作为最高位,查找字典树内最高位不同的数字数量注意把ak的每个前缀做一个bad标记存储让这个前缀作为i可以与字典树内形成i,j对的个数,这些不满足i#include//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#incl
2017-08-09 18:58:05 212
原创 Kanade's sum 2017多校#3 链表
通过这题学会了维护链表,原来可以这么方便的算出某个值作为区间第K大的区间总数。。。换句话说就是暂时不会用链表干别的←_←#include//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#include#include#include#include#in
2017-08-08 20:53:43 97
原创 BZOJ2243:[SDOI2011]染色
这题的区间维护比较麻烦,顺便复习了一下区间合并维护区间间隔色段数,跨链时更新一下上一条链顶的颜色,去重#include//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#include#include#include#include#include#incl
2017-08-07 22:02:40 230
原创 BZOJ4196: [Noi2015]软件包管理器 (好题
好题啊,做到这题想起以前靠线段树维护子树的时候那时候没见过链操作,搞不清树剖有什么用这题就结合了子树操作和树链操作,也是把dfs序的in out完整用上了树剖exp++#include//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#include#i
2017-08-07 16:12:29 422
原创 树的统计Count 树剖模板
完全理解树剖了。。不怪别人评价这个算法无脑核心思想就是跳,这么暴力复杂度居然可以低到nlogn+Qlog^2#include//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#include#include#include#include#include#i
2017-08-06 23:35:22 206
原创 NOIP2015 运输计划 树上差分(路径覆盖)
#include//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long long
2017-08-06 20:44:21 334
原创 GCD XOR UVA - 12716 刷表/贡献
//#pragma comment(linker, "/STACK:1024000000,1024000000") //#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll long lon
2017-08-04 23:56:51 207
原创 GCD - Extreme (II) UVA - 11426 phi函数运用
训练指南p125数论学到现在觉得最有意思的一道题gcd(a,b)==c等价于gcd(a/c,b/c)==1这样就可以用欧拉函数求出满足给定a,gcd(a,b)==c的b的个数还有一个要点是算贡献取代枚举因子,这个思想最近多校运用的挺多的。。//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#i
2017-08-04 17:34:33 279
原创 Aladdin and the Flying Carpet LightOJ - 1341 唯一分解/数论/合数分解模板
终于数学还是咱来学,想想tls当年刷的效率。。自己还是要加油//#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#include#include#include#include#include#include#include#includeusing name
2017-08-03 22:15:51 238
原创 HDU6035 2017多校第一场1003 树形DP
参考:Bahuia的博客重点在于理清子树的层次关系,对于单个点进行逐子树更新时的转移#pragma comment(linker, "/STACK:1024000000,1024000000") #include#include#include#include#include#include#include#include#include#include#incl
2017-08-01 21:40:37 358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人