Scx117
只一眼,便辽阔了时间。
摘要: 题意:给你两个字符串,问其中各取一个子串,有多少对相同?n<=20W。 标程: 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N=1000005; 5 ll ans; 6 in 阅读全文
posted @ 2018-06-26 10:21 Scx117 阅读(187) 评论(0) 推荐(0) 编辑
摘要: standing out from the field 给你n个串,对于每个串求出只包含在这个串中的本质不同的子串? 后缀自动机,建树,对于每一个点打上包含在哪个串中的标记。 叶子都是前缀,直接在sam_build时预处理;其余的dfs一遍,由于x是son[x]的后缀,故x的状态由son[x]影响, 阅读全文
posted @ 2018-06-23 10:46 Scx117 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 题意:乱序给你树上的每一个节点与之相距<=2的节点集合(并不知道这具体是哪个节点)。 还原整棵树。 标程: 1 #include<bits/stdc++.h> 2 #define P pair<int,int> 3 #define fir first 4 #define sec second 5 u 阅读全文
posted @ 2018-06-20 23:36 Scx117 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个田地,问左下角和右上角有稻草人并且内部除了边界都没有稻草人的矩形数。 标程: 1 #include<bits/stdc++.h> 2 using namespace std; 3 int read() 4 { 5 int x=0,f=1;char ch=getchar(); 6 whi 阅读全文
posted @ 2018-06-19 23:33 Scx117 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题意:要求构造一个d的排列使得满足d[i/k]<=d[u]且字典序最大。 标程(bzoj上并不能过): 1 #include<bits/stdc++.h> 2 #define mid ((l+r)>>1) 3 using namespace std; 4 const int N=500005; 5 阅读全文
posted @ 2018-06-19 10:08 Scx117 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题意:在一个n*m的棋盘上,A和B轮流放置棋子。一个位置能够放置棋子当且仅当它上面没有棋子并且它的上面和左边一格都已经放了棋子(不难发现是一个上三角阶梯状)。每个格子有两个权值,当A在上面放置棋子时A获得a[i][j]的得分,B同理。 A和B用最优策略,A想要A-B最大,B想要B-A最大(即使A-B 阅读全文
posted @ 2018-06-13 20:45 Scx117 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题意:每条边有两个权值a,b,求图的最小二元和乘积生成树(即该树的sum_a*sum_b最小)。 标程: 1 #include<bits/stdc++.h> 2 #define P pair<ll,ll> 3 #define fir first 4 #define sec second 5 usin 阅读全文
posted @ 2018-06-13 18:25 Scx117 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题意:操作1:x=x*m,输出x%mod。2.x/=map[m]。m即第m次操作,保证该次操作为1操作,并且每个操作最多只会被删一次。q<=1e5。 线段树维护操作信息的乘积,删除把对应位置的权改成1。 标程: 1 #include<bits/stdc++.h> 2 #define mid ((l+ 阅读全文
posted @ 2018-06-13 14:15 Scx117 阅读(136) 评论(0) 推荐(0) 编辑
摘要: D-Grid Components 在一个100*100的网格图上染色,问黑格四连通块的个数为A,白格四连通块的个数为B的一种构造方案?(A,B<=500) 将整个平面分成50*100的两部分,分别以黑白为背景,一块背景算一个连通块,然后在一种背景上用另一种颜色上去点彩,连通块大小为1,无八连通。 阅读全文
posted @ 2018-06-12 20:57 Scx117 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一棵树,每个点有一定高度hi。需要选择k个点放进k个人,每个人的高度为si。 第i个人能够放进x点当且仅当从根到x的路径上的高度最小值>=si。现在你最多只能选择一个节点增加一定的高度使其满足要求,问最小代价?n<=5e5。 标程: 1 #include<bits/stdc++.h> 2 阅读全文
posted @ 2018-06-12 19:07 Scx117 阅读(1014) 评论(0) 推荐(0) 编辑