自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 hdu3949:XOR

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3949一个讲的比较好的博客:http://m.blog.csdn.net/blog/wdcjdtc/38300217Orz hzwer:http://hzwer.com/5491.html思路:为什么我搜线性基什么也没搜到呢..用高斯消元维护线性基,然后....就是代码了#in

2015-07-30 11:25:45 559

原创 bzoj1923: [Sdoi2010]外星千足虫

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1923裸裸的高斯消元,bitset大法好...#include#include#include#includeconst int maxn=1010,maxm=2010;using namespace std;bitset a[maxm];int n,m,

2015-07-29 16:34:06 611

原创 bzoj1013: [JSOI2008]球形空间产生器sphere

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1013思路:肯定是解方程...好像有哪里不对,二次项很坑爹。但是题目里有n+1个点,我们还是可以得出n个一次方程的设球心坐标为(x1,x2,x3...xn)那么就有(a1-x1)^2+(a2-x2)^2+...(an-xn)^2=r^2(b1-x1)^2+(

2015-07-29 15:04:17 1360 3

原创 bzoj1770: [Usaco2009 Nov]lights 灯

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1770思路:繁体字是什么鬼啊....不过总比英语好...高斯消元解异或方程组。把每个灯开关次数看成变量,很显然只会是0和1然后对于每个灯建立方程,即它和与它相邻的灯的开关次数的异或和为1但是方程不一定只有唯一解,还会有自由元,就是取什么都会有解。所以最后还要

2015-07-29 11:21:04 907

原创 一些还没有写的AC自动机题

一些还没写的题(好像除了前两题都比较神...)bzoj1009:这是AC自动机?这不是KMP+矩乘优化DP吗?不过好像AC自动机也可以做(死)bzoj3940:这好像是正版的AC自动机,3942好像是弱化版bzoj1444:并不知道在干什么,不过这题是AC自动机上的DPbzoj1195:AC自动机上的状压DPbzoj1559:还是AC自动机上的DP,但是输方案很恶心。。。听说还

2015-07-27 18:02:37 456

原创 bzoj2553: [BeiJing2011]禁忌

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2553思路:第一件事当然是建立AC自动机。。。现在我们建好了AC自动机,那么我们就在AC自动机上走,走到一个终止节点就算我们找到一个禁忌串,然后返回根节点重新匹配。和bzoj1030类似,考虑DP,设f[i][j]为现在长度为i,走到j号节点的期望。转移就是枚举下一个字

2015-07-27 17:23:34 767

原创 bzoj1030: [JSOI2007]文本生成器

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1030思路:直接算好像比较困难,所以考虑先算不可读的串的个数,再拿总串数去减。不可读的串的数量就是在AC自动机上走M步而不经过结尾节点(包括结尾点和fail指向结尾点的节点)的路径条数。这个怎么求呢?设f[i][j]表示走i步,现在在j号节点的路径条数。那么f[i]

2015-07-27 11:58:45 2363

原创 bzoj1212: [HNOI2004]L语言

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1212思路:这题AC自动机都不用建,只要trie就好了。。。首先令f[i]表示到i的前缀能否被理解,那么答案就是f[i]==1时最大的i转移也很简单,如果f[i]==1,这个串就可以从i+1开始匹配一个新单词,因为单词长度设trie上匹配到一个长度为j的单词,那么f

2015-07-27 11:46:41 1128

原创 bzoj2434: [Noi2011]阿狸的打字机

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2434一个讲得很详细的题解:http://blog.csdn.net/huzecong/article/details/7769988思路:这题的想法有点神啊....先构建AC自动机,然后怎么判断一个串b是a的子串呢?用fail指针就可以了。如果a串中有节点可以通过fail

2015-07-26 17:50:36 1843

原创 bzoj3172: [Tjoi2013]单词

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3172思路:每加入一个串,就给这个串的路径上所有点的sum+1,表示它的前缀都又出现了一次,然后从下向上把sum加到fail指针指向的点上就可以得到答案了。#include#include#includeconst int maxn=1000010;using name

2015-07-26 15:17:37 1583

原创 bzoj4179: B

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=4179思路:这题和上一题不是差不多吗....就是在没有环的时候找一个最长路,长度超过L就能完成任务。#include#include#includeconst int maxn=1048580,maxq=1048580;using namespace std;int

2015-07-26 15:01:24 455

原创 bzoj2938: [Poi2000]病毒

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2938思路:构建AC自动机,无限长的安全代码就是能一直在AC自动机上匹配而匹配不上任何一个危险串。依旧是匹配指针不能走到危险串的结尾点x,fail指针指向x的y也不能走,因为根据fail的定义,x这个危险串是y的后缀。找出危险节点后就是找环了,有环就有无限长的安全代码,否则没有。

2015-07-26 14:58:21 1395

原创 hdu2222 Keywords Search & AC自动机学习小结

传送门:http://http://acm.hdu.edu.cn/showproblem.php?pid=2222思路:AC自动机入门题,直接上AC自动机即可。对于构建AC自动机,我们要做的只有三件事:1)构建字典树2)构建失败指针3)构建trie图(这道题好像不做这一步也能A。。。但是这一步不做是会被卡成O(n^2)的。。。)1)第一步还是比较好理解的

2015-07-25 21:25:17 646

原创 bzoj4196: [Noi2015]软件包管理器

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=4196思路:裸裸的树链剖分。设已安装的为1,未安装的为0。对于安装操作,就是询问x到0的路径上0的个数,然后把这个路径赋为1对于卸载操作,就是询问x的子树中1的个数,然后把子树赋为0。#include#include#include#define ls (p<<1

2015-07-25 09:38:57 2446 2

原创 bzoj3992: [SDOI2015]序列统计

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3992思路:M是一个质数,问题又是求乘积,于是我们就可以想到利用M的原根g把问题变成求和(我怎么想不到啊。。。)根据原根的性质,我们可以把1到M-1中的数i表示为(g^b[i])%M,且指数互不相同那么X就可以表示成(g^b[x])%M问题就转化为:然后问题转化成了在序

2015-07-25 09:23:39 1899 2

原创 bzoj 4178: A

传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=4178比较裸的NTTNTT讲的比较好的博客 http://blog.csdn.net/acdreamers/article/details/39026505#include#include#include#includeconst int maxn=33000;c

2015-07-24 12:04:47 690

原创 Spoj 8372 Triple Sums

传送门:http://www.spoj.com/problems/TSUM/思路:先不管i构造一个多项式A(x)=sigma x^a[i]那么S=a[i]+a[j]+a[k]的个数就是x^(a[i]+a[j]+a[k]=S)的个数为了让指数相加,我们把A(x)进行立方那么个数就是A(x)^3中S次项的系数然后进行容斥,为了方便,以下省去指数a[i]A(x)^3=

2015-07-22 18:08:13 614

原创 hdu contest day1 1007 Tricks Device

传送门:http://acm.hdu.edu.cn/contests/contest_showproblem.php?cid=589&pid=1007思路:预处理出最短路,跑最小割lll的代码:#include#define maxn 2100#define maxm 180000#define inf 0x7fffffff#define min(a,b) ((a)>(b)?(

2015-07-22 09:51:57 322

原创 hdu contest day1 1002 Assignment

传送门:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1002&cid=589思路:对于每个人,向右二分判断能组成group最远的人,用ST表维护最大最小值,判断时只要看最大最小只差是否小于k即可CYY的代码#include#include#include#include#includeusing nam

2015-07-22 09:44:01 342

原创 hdu contest day1 1001 OO’s Sequence

传送门:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1001&cid=589思路:超级大暴力:枚举l,r,暴力判断每个数,复杂度O(n^4)爆炸了那么枚举l,r肯定不行了。换个思路,判断每个数对多少个区间产生了贡献对于第i个数a[i],我们分别往左和往右找到第一个约数,他们的位置分别为j-1,k+1那么a

2015-07-22 09:26:01 315

原创 bzoj3160: 万径人踪灭

题面传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3160思路:首先题目中不要连续的回文串,那么答案就是总的回文串-连续回文串连续回文串用manacher就可以O(n)搞出来现在的问题是求总的回文串。既然是回文串,我们就想到枚举对称轴为了方便表示在字符的夹缝的对称轴,下标*2,下标为奇数则为夹缝。令f[i

2015-07-21 08:17:51 650

原创 bzoj3527: [Zjoi2014]力

一句话:给出n个数qi,给出Fj的定义如下:  令Ei=Fi/qi,求Ei. 思路:先把q[i]约了,然后就是:Ei=∑jiqj(j−i)2−∑j>iqj(j−i)2先看左边:令f[i]=q[i],g[i]=1/i/i左边就是sigma f[j]*g[i-j] 然后下标和就为定值了,就是卷积了,上FFT搞一搞右边把q反过来再上FFT搞

2015-07-16 17:07:56 528

原创 bzoj2194: 快速傅立叶之二

题目又是一句话:请计算C[k]=sigma(a[i]*b[i-k]) 。其中 k 思路:先把b倒着读,然后下标的和就确定了,然后就上FFT开搞了。#include#include#include#include#includeconst double pi=M_PI;const int maxn=270010;using namespace std;struct

2015-07-16 11:02:48 833

原创 bzoj2179: FFT快速傅立叶

一句话题意:给出两个n位10进制整数x和y,你需要计算x*y。n思路:FFT就是神奇的公式多。。。感觉还没有完全理解#include#include#include#include#define ll long longconst int maxn=200010;const double pi=M_PI;using namespace std;struct plex{ dou

2015-07-15 17:44:51 855

原创 bzoj4194: Mat

思路:令K[i]=k[1]+k[2]+...+k[i],B[i]=b[1]+b[2]+..+b[i]先取出每行第一个数,那么第i行第j列的元素就是A[i]+i*K[j]+B[j]那么每行的答案ans[i]=min(i*K[j]+B[j])+A[i]稍微变形:B[j]=i*(-K[j])+ans[i]-A[i]把-K[j]看成横坐标,B[j]看成纵坐标,维护凸包搞一搞就可以了。考

2015-07-14 11:48:20 467

原创 bzoj4177: Mike的农场

题面: Mike有一个农场,这个农场n个牲畜围栏,现在他想在每个牲畜围栏中养一只动物,每只动物可以是牛或羊,并且每个牲畜围栏中的饲养条件都不同,其中第i个牲畜围栏中的动物长大后,每只牛可以卖a[i]元,每只羊可以卖b[i]元,为了防止牛羊之间相互影响,Mike找到了m条规律,每条规律给出一个三元组(i, j, k)表示如果第i个围栏和第j个围栏养的是不同的动物,那么Mike就需要花费k的代价请

2015-07-14 11:34:46 741

原创 bzoj4172: 弹珠

弹珠 (hoodle) 【问题描述】 D.Ash 是一个喜欢玩弹珠的小男孩,他有一盒五颜六色的弹珠,在阳光的照射下非常美丽。  同样,他喜欢聆听弹珠相碰时的清脆声音。 经过他的观察,每个弹珠有三个参数 ia , pi,i q,均为正整数, 分别为弹珠的碰撞损耗,发射损耗和发射能量, 用弹珠 x 撞击弹珠 y ,发出的声音响度为 B_{x,y}

2015-07-11 15:51:37 549

原创 7.10省队集训梦工厂

问题描述 「有时候用烂了的名字也会别有深意」 ——摘自 EN 语录  “这里是制造快乐,编织幸福的梦工厂!才不是你们想的什么奇怪的工厂呢!哼!” 这是你来到这个奇妙的地方所听到的第一句话,竟然还是一头身长三米的狗熊发出来的。  一开始看到梦工厂这块牌匾时,你心里想的是什么呢?如果真的是洋溢着青涩而纯洁的梦想,那就太棒了!  初来乍到,狗熊先生决定给你先大致地讲解一下工厂

2015-07-10 15:23:06 389

原创 bzoj2427: [HAOI2010]软件安装

Description现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件i依赖软件j)。幸运的是,一个软件最多依赖另外一个软件。

2015-07-09 16:43:18 476

原创 7.5省队集训 tree

Tree 【题目描述】 RHL 有一天看到 lmc 在玩一个游戏。 “愚蠢的人类哟,what are you doing”,RHL 说。 “我在玩一个游戏。现在这里有一个有 n 个结点的有根树,其中有 m 个叶子结点。这 m个叶子从 1 到 m 分别被给予了一个号码,每个叶子的号码都是独一无二的。一开始根节点有一个棋子,两个玩家每次行动将棋子移动到当前节点的一个儿子节点。当

2015-07-09 16:39:35 365

原创 bzoj2989&4170: 数列

Description给定一个长度为n的正整数数列a[i]。定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)=|x-y|+|a[x]-a[y]|。2种操作(k都是正整数):1.Modify x k:将第x个数的值修改为k。2.Query x k:询问有几个i满足graze(x,i)任意位置上出现过的任意数值与当前的a[x]的gr

2015-07-05 17:06:08 845

空空如也

空空如也

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

TA关注的人

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