- 博客(325)
- 收藏
- 关注

原创 数学相关
FFT例题:BZOJ 2179#include <algorithm>#include <iostream>#include <cstring>#include <complex>#include <cstdio>#include <queue>#include <cmath>#include <map>#include <set>#define N 131072#define I
2017-04-24 07:29:51
376

原创 字符串模板
KMP#include <algorithm>#include <iostream>#include <cstring>#include <complex>#include <cstdio>#include <queue>#include <cmath>#include <map>#include <set>#define N 1000010#define INF 0x7fffff
2017-04-23 21:05:05
262
原创 洛谷 P1006 传纸条
题目描述小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个mm行nn列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1(1,1),小轩坐在矩阵的右下角,坐标(m,n)(m,n)。从小渊传到小轩的纸条只可以向下或者向右...
2018-10-17 21:01:12
280
原创 GDOI2018游记
Day0其实从Day-1开始就开始颓啦,不过beginend dalao在颓废之余不忘写题练手感,本蒟蒻就完全放弃了这个东西。主要是打开目录一看,好多板子都不熟,根本背不动。 腐败了一个上午之后就开始准备坐车去考场了,到酒店之后本来说去一中电脑室玩的,结果到了之后beginend去打球了于是没人领着也就没有去他们的电脑室参观了,下午果断窝在宿舍打王者。 估计次比赛我打过的王者比我以往加起来...
2018-05-04 16:22:44
692
原创 bzoj 5073: [Lydsy1710月赛]小A的咒语
给出两个字符串A,B和一个常数x,问能否从A中取不超过x段出来,将其按原来顺序拼接后可以组成B。Solution我们可以设f[i,j]表示A的前i个字符选了j段出来能拼成的B的最长前缀是多少。 用后缀数组+RMQ即可做到O(1)转移Code#include <bits/stdc++.h>const int N = 200005;int n,m,x,f[1...
2018-04-26 21:47:31
292
原创 bzoj 4714: 旋转排列
1≤n≤500000Solution我们设fifif_i表示长度为i的错排,容斥后易得答案代码#include <bits/stdc++.h>typedef long long LL;const int N = 500005;const int MOD = 1000000007;int n,jc[N],ny[N],f[N];int C(int ...
2018-04-26 20:48:06
374
原创 LOJ#2494. 「AHOI / HNOI2018」寻宝游戏
题目链接分析除了第一个数外,以编号最小的为最低位,把每一个数的第i位拿出来组成一个n位二进制数,设为bi。 对于所填的运算符,设or为0,and为1,拿出来也会组成一个nn位二进制数,设为x。 神奇的地方来了,该位运算结果为1当且仅当bi>x。 那么我们就可以把bibi从大到小排序,对于每个询问,其答案不为0当且仅当不存在某个1在0的后面。否则就找到第一个0,设为第i...
2018-04-25 20:32:23
555
原创 bzoj 4003: [JLOI2015]城池攻占
Description小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池。这 n 个城池用 1 到 n 的整数表示。除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖, 其中 fi Input第 1 行包含两个正整数 n;m,表示城池的数量和骑士的数量。第 2 行包含 n 个整数,其中第 i 个数为 hi,表示城池 i 的防御值。 第 3 到 n...
2018-04-24 21:55:06
260
原创 bzoj 3879: SvT
题意有一个长度为n的仅包含小写字母的字符串S,下标范围为[1,n]. 现在有若干组询问,对于每一个询问,我们给出若干个后缀(以其在S中出现的起始位置来表示),求这些后缀两两之间的LCP(LongestCommonPrefix)的长度之和.一对后缀之间的LCP长度仅统计一遍. 有S<=5*10^5,且Σt<=3*10^6.分析我们把S反过来后建后缀自动机,就转换成了求...
2018-04-23 21:58:24
345
原创 BZOJ 4446: [Scoi2015]小凸玩密室
Description小凸和小方相约玩密室逃脱,这个密室是一棵有n个节点的完全二叉树,每个节点有一个灯泡。点亮所有灯泡即可 逃出密室。每个灯泡有个权值Ai,每条边也有个权值bi。点亮第1个灯泡不需要花费,之后每点亮1个新的灯泡V的 花费,等于上一个被点亮的灯泡U到这个点V的距离Du,v,乘以这个点的权值Av。在点灯的过程中,要保证任意时刻 所有被点亮的灯泡必须连通,在点亮一个灯泡后必须先...
2018-04-23 16:16:07
241
原创 Codeforces 613D Kingdom and its Cities
题意给出一棵树,每次询问会给出几个关键点,要求选最少的非关键点使得把选的点去掉后关键点之间两两不能到达。 n≤100000分析先把虚树建出来,然后树形dp一下就好了。 具体来说就是设f[x,0]表示x的子树中的关键点两两不可达且没有关键点可以到达x外面,f[x,1]则表示有至多一个关键点可以到达x外面。转移的话讨论一下就好了。代码#include <bit...
2018-04-23 11:57:29
159
原创 BZOJ 2286: [Sdoi2011]消耗战
Description在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他k个岛屿上有丰富能源,为了防止敌军获取能源,我军的任务是炸毁一些桥梁,使得敌军不能到达任何能源丰富的岛屿。由于不同桥梁的材质和结构不同,所以炸毁不同的桥梁有不同的代价,我军希望在...
2018-04-23 09:33:34
184
原创 Codeforces 960G Bandit Blues
题意定义序列中的一个数为前缀最大值仅当其前面没有比他大的数,后缀最大值同理。问有多少个长度为n的排列满足前缀最大值数量恰好为a,后缀最大值数量恰好为b。分析稍稍推一下式子就可以发现分治NTT是可以解决滴代码#include <bits/stdc++.h>const int N = 200005;const int MOD = 998244353;...
2018-04-20 21:50:27
462
原创 Codeforces 891E Lust
题意现在给你一有n个整数的序列a[],有一个初始为0的值res,重复下面的过程k次: “随机选择一个[1,n]之间的下标x,res加上所有满足i≠x的a[i]的乘积,然后将a[x]减去1” 问最后res的期望值,对10^9+7取模 n<=5000 k<=10^9分析这个其实就是要求∏A−∏A′∏A−∏A′\prod A-\prod A'其中A表示初始状态...
2018-04-18 21:25:46
288
原创 AtCoder Grand Contest 016 C - +/- Rectangle
题意给出n,m,x,y,要求构造一个n*m的矩形使得其元素和大于0且任意一个x*y的子矩形的元素和小于0。 x,y,n,m<=500分析很容易想到在所有横坐标为x的倍数,纵坐标为y的倍数的格子填上-x*y,其余格子全填1,这样就可以保证每个子矩阵的和小于0。但是这样在多出来的格子比较少的时候可能会导致整个矩形的元素和小于0。于是我们可以设一个较大的常数d,把每个格子填上d...
2018-04-16 21:50:15
153
原创 BZOJ 4559: [JLoi2016]成绩比较
DescriptionG系共有n位同学,M门必修课。这N位同学的编号为0到N-1的整数,其中B神的编号为0号。这M门必修课编号为0到M- 1的整数。一位同学在必修课上可以获得的分数是1到Ui中的一个整数。如果在每门课上A获得的成绩均小于等于B获 得的成绩,则称A被B碾压。在B神的说法中,G系共有K位同学被他碾压(不包括他自己),而其他N-K-1位同学则没 有被他碾压。D神查到了B神每门必...
2018-04-16 21:08:17
365
2
原创 AtCoder Grand Contest 012 C - Tautonym Puzzle
题意让你构造一个长度不超过200的字符串,使得其恰好有n个非空自序列可以表示成AA的形式,其中A表示一个字符串。 n<=10^12分析题意:定义good串为从中间切开两边一模一样的串,比如123123,11,acac,给出N,要求构造一个数列长度在200及以内,包含的数字只能1~100,其子序列为good的数量恰好为N。 思路:考虑构造一个数列,右半部分为升序例如1,2...
2018-04-16 20:43:59
192
原创 AtCoder Regular Contest 080 E - Young Maids
题意给出一个排列,要求按如下方式构造一个新排列,使得新排列的字典序尽量小。 每次可以在原排列中选择两个相邻的数,将这两个数在原排列中删掉并按照原来的相对顺序放在新排列的最前面。 n<=200000分析由于要字典序最小,我们可以倒着贪心。 首先找到下标奇偶性不同且字典序最小的两个数(a[x],a[y]),那么a[x]和a[y]就会作为新排列的开头,然后将序列拆分成三...
2018-04-16 16:37:34
201
原创 AtCoder Grand Contest 013 C - Ants on a Circle
题意在一个长度为L的环上有一群蚂蚁,每一只蚂蚁都有一个两两不同的坐标和行走方向(逆时针或顺时针)且行走速度均为1。当两只蚂蚁相撞时他们会一起反向,问T个时刻后每一只蚂蚁的位置。 1<=n<=100000,1<=T,L<=10^9分析两只蚂蚁相撞的情况实际可以看成是他们代替对方走了下去,也就是编号互换。所以我们可以得到T时刻后所有蚂蚁的坐标。 还有一个...
2018-04-16 16:06:38
170
原创 BZOJ 5016: [Snoi2017]一个简单的询问
Description给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出∑∞i=1get(l1,r1,x)get(l2,r2,x)∑i=1∞get(l1,r1,x)get(l2,r2,x)\sum_{i=1}^\infty get(l1,r1,x)get(l2,r2,x) get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次。 Inpu...
2018-04-16 11:39:01
337
1
原创 BZOJ 5102: [POI2018]Prawnicy
Description定义一个区间(l,r)的长度为r-l,空区间的长度为0。 给定数轴上n个区间,请选择其中恰好k个区间,使得交集的长度最大。Input第一行包含两个正整数n,k(1<=k<=n<=1000000),表示区间的数量。 接下来n行,每行两个正整数l,r(1<=lOutput第一行输出一个整数,即最大长度。 第二行输出k个正整数,...
2018-04-16 10:19:52
226
原创 JZOJ5651. 【NOI2018模拟4.13】硬币游戏
分析我们一组一组往里面加边,如果成环了就考虑枚举删掉哪一条边然后增广,然后就没了代码#include <bits/stdc++.h>#define pb(x) push_back(x)typedef std::vector<int> VI;const int N = 605;const int M = 10005;int read(...
2018-04-13 21:15:04
373
原创 JZOJ 5646. 【NOI2018模拟4.12】染色游戏
题目 分析很显然的斜率优化,如果我们考虑忽略a那个限制的话,对于a的限制我们可以考虑cdq分治来做代码#include <bits/stdc++.h>const int N = 1e6 + 10;typedef long long ll;int read(){ int x = 0, f = 1; char ch = getchar...
2018-04-12 20:28:14
343
原创 uoj #181. 【UR #12】密码锁 搜索
题目链接分析当n小的时候不难想到指数和n有关的做法,但当n较大的时候就不能这么做了。但我们注意到m并不大,所以就考虑指数跟m有关的做法。 先考虑当m=0的时候要怎么做。 这时每条边的概率都是一样的。首先有个性质就是,一个竞赛图,将其缩点后一定会形成一条链,其中链的每个点都是一个强连通分量。 由于我们要统计的是强连通分量的数量,也可以看成是每条链的前缀的数量,那么我们只要对每...
2018-04-11 21:43:34
242
原创 Codeforces 917D Stranger Trees
题意给出一棵n个节点的带标号树,要求对于每个k,求出有多少棵生成树满足恰好有k条边与原树相同。 n<=100分析(Kn:n个点的完全图,ans[i]:与 T 有 i 条相同的边的生成树的个数)定义 F(X) 为 Kn + (X - 1) * T 的生成树个数。 我们观察 F(X),实际上它的值也等于 sigma X^i * ans[i], 因为在 Kn 上生成的并且...
2018-04-11 20:21:57
390
原创 BZOJ 2946: [Poi2000]公共串
Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。任务: l 读入单词 l 计算最长公共子串的长度 l 输出结果Input文件的第一行是整数 n,1<=n<=5,表示单词的数量。接下来n行每行一个单词,只由小写字母组成,单词的长度至少为1,最大为2000。Output仅...
2018-04-11 16:07:22
204
原创 BZOJ 3238: [Ahoi2013]差异
题目分析我终于 学会 sam 了 这个东西我们考虑再parent树上dp就好代码#include <bits/stdc++.h>typedef long long ll;const int N = 500005;char s[N];int max[N * 2],fa[N * 2];int ch[N * 2][30];int root,c...
2018-04-10 20:52:13
183
原创 loj 2473. 「九省联考 2018」秘密袭击
题意给出一棵树,每个节点有一个权值。问所有连通块中第k大元素的和模64123。 设最权值为W,n≤1666,W≤1666分析这一题正解有那么长!标程也是有那么长! 肝了好久肝不动果断转暴力代码·#include <bits/stdc++.h>using namespace std;const int N = 1710, mod = 64123;...
2018-04-08 20:58:53
378
原创 hdu 6036 Division Game
题意有k堆花,编号为1到k-1,每堆花都是完全一样的且包含n朵花,分成m种颜色,每种颜色有sisi朵花。现在要进行操作,第i轮操作可以在第(i-1) mod k堆花中取走任意朵。当有一堆花被取完后游戏结束。问对于每一堆花,有多少种不同的操作可能使得游戏在该处结束。NTT模数。 n<=100000,m,k<=10分析随便容斥一下就会变成卷积,然后就会变成ntt...
2018-04-07 21:21:47
201
原创 BZOJ 5217: [Lydsy2017省队十连测]航海舰队
DescriptionByteasar 组建了一支舰队!他们现在正在海洋上航行着。海洋可以抽象成一张n×m 的网格图,其中有些位置是“ .”,表示这一格是海水,可以通过;有些位置是“#”,表示这一格是礁石,不可以通过;有些位置是“o”,表 示这一格目前有一艘舰,且舰离开这一格之后,这一格将变为“.”。这些“o” 表示Byteasar 的舰队,他们每天 可以往上下左右中的一个方向移动一格,...
2018-04-07 13:27:12
431
原创 CS Academy Round 75 Permutations NTT
题目给一个正整数n和询问数q,每次询问给出两个数x和y,问有多少长度为n的排列P满足: py=maxni=1pipy=maxi=1npip_y=max_{i=1}^np_i 2px<py2px<py2p_xans(y)=∑i=1n⌊i−12⌋Cy−2i−2(y−2)!(n−y)!ans(y)=∑i=1n⌊i−12⌋Ci−2y−2(y−2)!(n−y)!ans(y)=\sum_...
2018-04-07 09:42:51
169
原创 BZOJ 3707: 圈地
分析黄学长说随机能过,事实上似乎数据加强了emmm 如果我们确定了2个点以后,第三个点有必要去盲目的枚举吗?答案是否定的。实际上我们把经过这两点的线看成一个斜率,把他当成y轴你会发现第三个点明显是在坐标系左右找一个离”y轴”最近的点来算面积更新答案。然后我们可以继续思考,发现我们可以把点按照某个斜率当成”y轴”进行“从左到右”的排序,这样当2点共线的时候,用这两个点的左右2个点去更新答案就好...
2018-04-03 21:10:59
219
原创 BZOJ 4555: [Tjoi2016&Heoi2016]求和
题目分析简单的变性之后可以变成卷积的形式,然后上ntt ntt教材代码#include <bits/stdc++.h>typedef long long LL;const int MAXN = 300005;const int MOD = 998244353;int n,jc[MAXN],ny[MAXN],a[MAXN],b[MAXN],re...
2018-04-03 20:09:12
224
原创 bzoj 2229: [Zjoi2011]最小割
Description小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点s,t不在同一个部分中,则称这个划分是关于s,t的割。 对于带权图来说,将所有顶点处在不同部分的边的权值相加所得到的值定义为这个割的容量,而s,t的最小割指的是在关于s,t的割中容量最小的割” 现给定一张无向图,小白有若...
2018-04-01 21:47:14
107
原创 BZOJ 4864: [BeiJing 2017 Wc]神秘物质
Description21ZZ 年,冬。 小诚退休以后, 不知为何重新燃起了对物理学的兴趣。 他从研究所借了些实验仪器,整天研究各种微观粒子。这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测。 在精密仪器的视野下,构成陨石 的每个原子都无比清晰。 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性。于是,他决定对单 独一列原子进行测量和测试。被选中的...
2018-04-01 20:31:42
173
原创 BZOJ 1367: [Baltic2004]sequence
题意给出n个数a[1..n],要求求n个数b[1..n],满足b是严格递增且∑abs(a[i]−b[i])最小。 n<=1000000分析可以参考黄源河dalao的论文左偏树特点及其应用一看题的时候没什么思路,但我们可以按照从一般到特殊的思想去思考这道题。 若a[1]<=a[2]<=…<=a[n],那么b[i]=a[i]则一定是最优答案。 若...
2018-03-31 16:36:24
143
原创 bzoj 3325: [Scoi2013]密码
DescriptionFish是一条生活在海里的鱼。有一天他很无聊,就到处去寻宝。他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进。通过翻阅古籍,Fish 得知了这个密码的相关信息:该密码的长度为N。密码仅含小写字母。以每一个字符为中心的最长回文串长度。以每两个相邻字符的间隙为中心的最长回文串长度。很快Fish 发现可能有无数种满足条件的密码。经过分析,他...
2018-03-27 20:50:56
283
原创 BZOJ 3940: [Usaco2015 Feb]Censoring
DescriptionFarmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so they have plenty of material to read while waiting around in the barn during milking sessions. U...
2018-03-26 21:19:37
264
原创 51nod 1236 序列求和 V3
题目Fib(n)表示斐波那契数列的第n项,Fib(n) = Fib(n-1) + Fib(n-2)。Fib(0) = 0, Fib(1) = 1。 (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, …)F(n, k) = Fib(n)^k(Fib(n)的k次幂)。 S(n, k) = F(1, k) + F(2, k) + ……...
2018-03-23 21:00:25
285
原创 BZOJ4174: tty的求助
分析明天再补 大概代码#include <bits/stdc++.h>typedef long long LL;const int N = 500005;const int MOD = 998244353;int n,m,x,f[N],mu[N],tot,prime[N];bool not_prime[N];void get_prime(i...
2018-03-22 22:01:23
214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人