自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不来也不去的一只失忆蝴蝶

曾迷途才怕追不上满街赶路人

  • 博客(46)
  • 收藏
  • 关注

原创 GDOI冲刺训练模拟赛第四套总结

DAY 1一看t1知道是sa后算一算 t2是原题 t3看起来像折半 t4是原题 然后瞬间产生了要切三题的念头。 接着刚t1,先写了暴力发现式子不对,然后改,接着改sa,这里写了好久,这题还是很不可调的。 写了最暴力的暴力拍,没什么问题。 t2很好写,不是很会拍。 t3先没管,然后跳去写t4了。 发现t4的做法有问题,最后还是写了暴力,没时间写t3。 回去检查,发现了t2是原题改了

2017-04-27 10:18:55 538

原创 [bzoj4035]数组游戏

题目描述有一个长度为N的数组,甲乙两人在上面进行这样一个游戏:首先,数组上有一些格子是白的,有一些是黑的。然 后两人轮流进行操作。每次操作选择一个白色的格子,假设它的下标为x。接着,选择一个大小在1~n/x之间的整数 k,然后将下标为x、2x、…、kx的格子都进行颜色翻转。不能操作的人输。现在甲(先手)有一些询问。每次他 会给你一个数组的初始状态,你要求出对于这种初始状态他是否有必胜策略。好题

2017-04-25 22:12:49 1143

原创 [UOJ #21]缩进优化

题目大意找到合适的x来最小化 ∑ni=1⌊aix⌋+ai%x\sum_{i=1}^n\lfloor\frac{a_i}{x}\rfloor+a_i\% x解法把模给拆了 ∑ni=1ai+∑ni=1⌊aix⌋∗(1−x)\sum_{i=1}^na_i+\sum_{i=1}^n\lfloor\frac{a_i}{x}\rfloor*(1-x) 维护桶的前缀和,枚举x和⌊aix⌋\lfloor\fr

2017-04-23 15:17:53 666

原创 [bzoj4671]异或图

题目描述定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与 G2 中的出现次数之和为 1, 那么边 (u, v) 在 G 中, 否则这条边不在 G 中. 现在给定 s 个结点数相同的图 G1…s, 设 S = {G1, G2, … , Gs}, 请问 S 有多少个子集的异 或为一个连通图?斯特林反演用贝尔数的时间来枚举子集划分。 规定被划

2017-04-22 15:31:42 1740 2

原创 GDOI冲刺训练模拟赛第三套总结

前言经过上两轮的试验,这次的策略差不多是上两轮的综合。DAY 1HNOI的题,但我虽然看过题面,也没有看过题解,而且也不是所有题都看过。 t4看到就吓死了,弃。 t3也吓死了,弃,不过可以写个40分暴力,然后发现过不了样例,读了一会儿后先弃。 t2推了一下,好像可以单调栈+主席树,感觉不是很难,思路和我出过的一道题很像。 t1那些操作看着挺猎奇,知道实质后就是LCT模板题,应该比较无脑。

2017-04-22 09:40:47 432

原创 [bzoj4827]gift

题目描述FFT首先可以看做第二个+c,这个c可以为负数。 把第二个倍长。 拆式子容易发现。 需要求出∑n−1i=0∑n−1j=0a[i]∗b[i+j]\sum_{i=0}^{n-1}\sum_{j=0}^{n-1}a[i]*b[i+j] 的最小值 求出这个剩余部分是关于c的二次函数,用初中数学知识求解。 这个玩意怎么求》考虑把b翻转。 设c[2n−j]=∑n−1i=0∑n−1j=0a[

2017-04-21 15:32:20 793

原创 Informatics Training

题目描述数据结构对每个小组用两个数据结构维护,分别维护体力和刷题量。 对于合并的操作,可以启发式合并。 单个修改直接在对应的数据结构里改。 小组修改可以通过打tag实现,这个tag只有在这个小组被并进另一个小组的时候才下传。注意这个tag是永久化的,因此并进另一个小组时,要把它们对另一个小组的tag进行反作用。 淘汰人可以在对应数据结构进行修改。 为了方便做考核操作,每个小组维护出刷题量最

2017-04-21 15:23:15 421

原创 Travel Plan

题目描述DP按dfs序处理出前缀和后缀背包数组。 设的是f[v]表示纪念品价格的和至少为v所需的最小支出。 询问时two pointer即可。 关于空间可以用unsigned int。 然后我被卡常了???#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)#define fd(i,a,b) for

2017-04-21 15:13:37 554

原创 [bzoj4860]树的难题

题目大意点分治点剖。 每颗子树按最上面那条边的颜色排序。 顺序扫,同颜色的用一颗线段树,其他也用一颗线段树。 每扫过一个颜色合并一下两颗线段树。 这个方法比单调队列不知道低到哪里去了。#include<cstdio>#include<algorithm>#define max(a,b) (a>b?a:b)#define fo(i,a,b) for(i=a;i<=b;i++)using

2017-04-21 15:04:31 1487 2

原创 [bzoj2169]连边

题目描述有N个点(编号1到N)组成的无向图,已经为你连了M条边。请你再连K条边,使得所有的点的度数都是偶数。求有多少种连的方法。要求你连的K条边中不能有重边,但和已经连好的边可以重。不允许自环的存在。求连边的方法数。我们只关心它模10007的余数。DP设f[i,j]表示无顺序的连了i条边,有j个度数为奇数的点。 f[i,j]=1i(f[i−1,j−2]∗C2n−j+2+f[i−1,j]∗j∗(n−

2017-04-20 17:25:20 1046

原创 [bzoj4861]魔法咒语

题目描述瞎做显然是AC自动机dp。 小的直接dp大的矩阵乘法。#include<cstdio>#include<algorithm>#include<cstring>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;typedef long long ll;const int maxn=200+10,mo=1000000007

2017-04-20 16:53:04 878

原创 [bzoj4828][HNOI2017]大佬

题目描述人们总是难免会碰到大佬。他们趾高气昂地谈论凡人不能理解的算法和数据结构,走到任何一个地方,大佬的气场就能让周围的人吓得瑟瑟发抖,不敢言语。你作为一个OIER,面对这样的事情非常不开心,于是发表了对大佬不敬的言论。大佬便对你开始了报复,你也不示弱,扬言要打倒大佬。 现在给你讲解一下什么是大佬,大佬除了是神犇以外,还有着强大的自信心,自信程度可以被量化为一个正整数C(1<=C<=10^8),想

2017-04-19 22:30:16 1445

原创 [bzoj4826][HNOI2017]影魔

题目描述影魔,奈文摩尔,据说有着一个诗人的灵魂。事实上,他吞噬的诗人灵魂早已成千上万。千百年来,他收集了各式各样 的灵魂,包括诗人、牧师、帝王、乞丐、奴隶、罪人,当然,还有英雄。每一个灵魂,都有着自己的战斗力,而影魔,靠 这些战斗力提升自己的攻击。奈文摩尔有 n 个灵魂,他们在影魔宽广的体内可以排成一排,从左至右标号 1 到 n。 第 i个灵魂的战斗力为 k[i],灵魂们以点对的形式为影魔提供

2017-04-19 16:22:09 1357

原创 [bzoj4825][HNOI2017]单旋

题目描述H 国是一个热爱写代码的国家,那里的人们很小去学校学习写各种各样的数据结构。伸展树(splay)是一种数据 结构,因为代码好写,功能多,效率高,掌握这种数据结构成为了 H 国的必修技能。有一天,邪恶的“卡”带着 他的邪恶的“常数”来企图毁灭 H 国。“卡”给 H 国的人洗脑说,splay 如果写成单旋的,将会更快。“卡”称 “单旋 splay”为“spaly”。虽说他说的很没道理,但还

2017-04-19 16:04:38 1140

原创 GDOI冲刺训练模拟赛第二套总结

DAY 1这次选择了使用新策略。 上来觉得t130好拿在,直接写了,另30应该能拿,回来再想。 t2看起来有点难,但是暴力打点可以很多分。 t3直接看出来FFT可做,暴力也好写先写了。 t4不是很会。 接着就去写了t3,然后拍没什么问题。 然后去思考了下t1,不是很会,想了想另30分,发现是简单的扫描线+数据结构,然后写了之后和前30对拍了一下。 然后写了t2暴力,可以跑40分,n=7

2017-04-18 16:08:44 579

原创 奶酪

题目描述CJY很喜欢吃奶酪,于是YJC弄到了一些奶酪,现在YJC决定和CJY分享奶酪。 YJC弄到了n-1块奶酪,于是他把奶酪挂在了一棵n个结点的树上,每根树枝上挂一块奶酪,每块奶酪都有重量。 YJC和CJY决定这样分奶酪:首先砍掉一根树枝,把树分成两部分,每人取一部分,然后各自在自己取的那部分树上选择一条路径并取走路径上的奶酪,然后把剩下的奶酪拿去喂老鼠。 两人都想让自己取走总重量尽量大的奶

2017-04-18 11:33:37 1988

原创 蛋糕

题目大意CJY很喜欢吃蛋糕,于是YJC弄到了一块蛋糕,现在YJC决定和CJY分享蛋糕。 这块蛋糕上有n^2颗葡萄干,排成了一个n*n的点阵,每颗葡萄干互不相同且被编号为1~n^2。YJC决定沿着一条直线把蛋糕切成两份。YJC和CJY都很喜欢吃葡萄干,所以切出的两份蛋糕必须都包含至少一颗葡萄干。同时他们都不希望吃到不完整的葡萄干,所以切的时候不能经过任意一颗葡萄干。CJY喜欢1号葡萄干,所以他选择了

2017-04-18 11:32:40 663

原创

题目描述有n个点,它们从1到n进行标号,第i个点的限制为度数不能超过A[i]. 现在对于每个s (1 <= s <= n),问从这n个点中选出一些点组成大小为s的有标号无根树的方案数。DPprufer序DP裸上#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;t

2017-04-18 11:30:41 482

原创 中位数

题目大意定义一个序列a的特征值: 如果n=1则a[1]即为特征值 否则构造序列b,bi为ai、ai-1、ai+1的中位数。 a的特征值等于b的特征值。 求特征值为k的长度为n的排列a有多少种。做转化为>=k 那么只有0和1 从中间0101交替往两边对称,直到不对称时,两个数是多少决定了特征值是0还是1。 因此可以枚举对称长度,剩余组合数。#include<cstdio>#includ

2017-04-18 11:20:40 497

原创 开房间

题目描述A君与B君正在玩一款闯关游戏,游戏共有n关,每一关的目标只有一个:开房间。 每一关都会有m个房间(从1~m进行编号),A君与B君每关各打开一个房间即可过关,但两人不能打开同一个房间。 通过每一关后,m个房间会重新关上,在第i关打开第j个房间需要消耗t[i][j]的体力值。并且无论A君还是B君,除了第一关外,若上一关自己开了a号房间,这一关开了b号房间,则需要额外消耗K*|a-b|点体力值

2017-04-18 11:16:49 582

原创 航海舰队

题目描述Byteasar 组建了一支舰队!他们现在正在海洋上航行着。 海洋可以抽象成一张n×m 的网格图,其中有些位置是“.”,表示这一格是海水,可以通过;有些位置是“#”,表示这一格是礁石,不可以通过;有些位置是“o”,表示这一格目前有一艘舰,且舰离开这一格之后,这一格将变为“.”。 这些“o” 表示Byteasar 的舰队,他们每天可以往上下左右中的一个方向移动一格,但不能有任何一艘舰驶出地

2017-04-18 11:14:58 1007

原创 最长路径

题目描述在Byteland 一共有n 个城市,编号依次为1 到n,它们之间计划修建n(n-1)/2条单向道路,对于任意两个不同的点i 和j,在它们之间有且仅有一条单向道路,方向要么是i 到j,要么是j 到i。换句话说,这是一个n 个点的竞赛图。 Byteasar 居住在1 号城市,他希望从1 号城市出发,沿着单向道路不重复地访问一些城市,使得访问的城市数尽可能多。 请写一个程序,帮助Byteas

2017-04-18 11:11:02 1570

原创 树上路径

题目描述给定一颗n个结点的无根树,树上的每个点有一个非负整数点权,定义一条路径的价值为路径上的点权和-路径的点权最大值。 给定参数p,我们想知道,有多少不同的树上简单路径,满足它的价值恰好是p的倍数。 注意:单点算作一个路径;u ≠ v时,(u,v)和(v,u)只算一次。题解随便点分治 同一个分治中心按到根最大值排序,然后维护桶 裸题#include<cstdio>#include<alg

2017-04-18 10:43:46 656

原创 旅游路线

题目描述A君准备在Z国进行一次旅行,Z国中有n个城市,城市从1到n进行编号,其中1号城市为Z国首都。Z国的旅行交通网由n-1条单向道路构成,并且从任何一个城市出发都可以通过旅行网到达首都。 一条旅行交通网中的旅行线路,可以用线路上所经过的城市来描述,如{v1,v2,v3,……,vm},它表示一条经过了m个城市的旅行路线,且城市vi到城市vi+1有一条单向道路相连。 两个城市是相似的,当且仅当他们

2017-04-18 10:37:16 708

原创 [bzoj4161]Shlw loves matrixI

题目大意常系数齐次递推生成函数构造特征多项式 然后用快速幂做多项式取模 多项式乘法暴力即可#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)#define lowbit(x) (x&-x)using namespace std;typedef long long ll;const int max

2017-04-18 10:35:28 1059

原创 [51nod1238]最小公倍数之和

题目大意出一个数N,输出小于等于N的所有数,两两之间的最小公倍数之和。题解太懒了 这里写的很好#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;typedef long long ll;const int maxn=10000000+10,maxha=1000

2017-04-18 10:31:24 829

原创 颜色树

题目大意树上每个节点均有颜色。 求有多少条路径包含了所有k种颜色。k<=10点分治点分治后处理到根的二进制状态表示包含的颜色。 问题转化成插入若干个二进制数,查询包含某个二进制数的二进制数有多少个。 可以插入O(1)查询O(2^k) 考虑综合插入和查询的复杂度。 设f[A,B]表示有多少二进制数前一半为A后一半包含B。 插入时A是确定的,枚举包含的B,O(2^(k/2)) 查询时B是确

2017-04-15 16:59:14 637

原创 GDOI冲刺训练模拟赛第一套总结

DAY 1拿到题一看,第一题显然是水题,跳。 第二题看起来非常不好做,想了一会儿没思路,看了一下暴力70分可能是可以离散化后跑最短路的,跳。 第三题这种路径表示的问题一般用点分,可是之后的部分好像只会2^k。思考了一会儿发现和以前做过的一道题很像,就知道怎么做了。 第四题没什么头绪,一档都不会,先跳。 回去想了下第二题发现很容易用扫描线+线段树做。 然后按1-3-2的顺序做完了。第1第2题

2017-04-14 12:22:02 513

原创 腐女的生日

题目描述腐女要过生日了,pty 想给腐女送礼物,但是腐女所在的教室离pty 的教室太远了,于是pty就拜托会动归和A星的djy帮忙送礼物。djy在学校建立了一个平面直角坐标系,他站在了(0,0)点,腐女在(x0,y0)点,djy每次只能往上下左右四个方向移动一步,中间有n栋矩形教学楼,每个教学楼给出两个对角的坐标,并且保证每栋教学楼的周围区域(如图所示)不会有别的教学楼,即djy可以绕一个教学楼走不

2017-04-12 22:40:00 541

原创 IQ测试

题目描述PTY进行IQ测试,测试的项目是判断一个序列是否是另外一个序列删除若干个数字之后得 到的,PTY 深知自己的IQ 低于sqrt(-1),所以他请来了智商超高的你来替他解决问题。乱做水题#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)#define fd(i,a,b) for(i=a;i>=b;

2017-04-12 22:05:01 1065

原创 [bzoj3812]主旋律

题目大意问多少边的子集仍然是强联通的。DP设f[i]表示点集为i有多少边的子集强联通。 考虑补集转化,如果不是强联通,缩点后会形成一个DAG。用总的减去非法。 考虑容斥,枚举出度为0的点的点集j,那么如果包含奇数个强连通分量,则表示至少j个出度为0,容斥系数为负,否则容斥系数为正。 那么,我们可以设g[i]表示点集为i有多少边的子集形成奇数个互相之间没有边的强联通分量 ,h[i]表示点集为i有

2017-04-09 09:09:25 768

原创 [bzoj3283]运算器

题目大意数论题三合一。 第一问求yz%py^z\% p 第二问求yx%p=zy^x\%p=z的最小非负整数x 第三问求Cyz%pC_z^y\%p第一问谁都会做第二问大步小步法。 假设解决这样一个问题 ax≡b(modp)a^x\equiv b(\mod p) 首先考虑a与p互质的情况。那么显然是有循环节的。只需要考虑p以内。 设x=Ap√−BA\sqrt p-B aAp√−B≡b(m

2017-04-08 11:57:49 610

原创 [bzoj2530]Party

题目大意一个n个节点的图,保证存在大小至少为23n\frac{2}{3}n的团。 请输出任意一个大小为13n\frac{1}{3}n的团。构造将任意无边相连的两个点删去。 只有1/3n个点不在那个2/3n大小的团上,那么我们会把这些点连同一些在团上的1/3n个点删去。 还剩下1/3n个点在团上,即可输出。#include<cstdio>#include<algorithm>#define

2017-04-07 17:19:20 577

原创 [bzoj4762]最小集合

题目描述定义一个非空集合是合法的,当且仅当它满足以下两个条件。 1、集合内所有元素and和为0 2、它的非空子集中仅有它本身满足1 给出一个集合S,求它的合法非空子集数。DP先把给定集合所有数取反。 比如有效位数是4位,1101就变成0010。 那么问题变成,所有元素or和为1023,而去掉任意一个元素后or和均不为1023。 那么接下来我们来设一个诡异的状态。 因为要知道去掉一个人元

2017-04-07 16:38:38 1215

原创 [CF785D]Anton and School - 2

题目大意一个括号序列,问有多少非空子序列是回文合法括号序(这个回文是几何回文,如(()))。瞎做可以枚举最后一个左括号,假如它左边有A个左括号,右边有B个右括号。 贡献为∑Ct−1A∗CtB=∑Ct−1A∗CB−tB\sum C_A^{t-1}*C_B^t=\sum C_A^{t-1}*C_B^{B-t} 从组合数的意义去考虑,相当于从A+B个数中选B-1个数。 也可以这样考虑。 (1+x)

2017-04-07 16:07:41 674

原创 [bzoj3451]Tyvj1953 Normal

题目大意点分治过程中每次随机选择分治中心。 求期望复杂度。期望的线性性容易知道可以单独考虑每个点的贡献。 对于x和y,我们考虑y能否给x带来1的贡献,即y是否是x在点分树上的祖先。 那么Y必须是x到y上第一个被选择为分治中心的点。 一条路径上每个点成为第一个被选择的点概率均等,因此贡献为1dis(i,j)\frac{1}{dis(i,j)} 答案就是∑ni=1∑nj=11dis(i,j)\

2017-04-07 09:39:30 1192

原创 [bzoj4503]两个串

题目大意兔子们在玩两个串的游戏。给定两个字符串S和T,兔子们想知道T在S中出现了几次, 分别在哪些位置出现。注意T中可能有“?”字符,这个字符可以匹配任何字符。FFT我们把T串反过来。 设a表示S串(把字符转成不为0的数字) b表示T串,其中问号可以用一个0表示 设c[j+m−1]=∑(a[j+i]−b[m−i−1])2∗a[j+i]∗b[m−i−1]c[j+m-1]=\sum (a[j+i

2017-04-06 22:12:30 570

原创 [bzoj3328]PYXFIB

题目大意求 ∑⌊nk⌋i=0Ci∗kn∗Fi∗k\sum_{i=0}^{\lfloor\frac{n}{k}\rfloor}C_n^{i*k}*F_{i*k} F表示斐波那契数列一点思路这个形式很眼熟? ∑ni=1Cin∗xi=(1+x)n\sum_{i=1}^nC_n^i*x^i=(1+x)^n 那么同样,我们知道Fi=Ai[0][0]F_i=A^i[0][0] A是一个2*2的矩阵,满

2017-04-06 17:18:16 830

原创 [bzoj3727]PA2014 Final Zadanie

题目大意一颗n个节点的树。 bi=∑nj=1aj∗dis(j,i)bi=\sum_{j=1}^naj*dis(j,i) 给定b,请求出a。好题设size表示子树的a值和。设x表示整颗树a值和。 那么对于i是j的父亲,有 b[i]−size[j]+x−size[j]=b[j]b[i]-size[j]+x-size[j]=b[j] x−2∗size[j]=b[j]−b[i]=c[j]x-2*s

2017-04-06 14:37:45 669

原创 数字格

题目描述菁菁堂有一块数字格,那是王解体最喜欢去的地方。 传说中,这条气势磅礴的数字格,有N行N列,每一个格子里均有一个数。 敢于挑战自己的王解体决定来挑战这道通过率为百分之九十九的题目。 格子的第一行及第一列均是给定的: F[k,1]=l[k](k=1,2,3,…,N)F[k,1]=l[k](k=1,2,3,…,N) F[1,k]=t[k](k=1,2,3,…,N)F[1,k]=t[k](

2017-04-06 09:52:05 737

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除