自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 bzoj4607

先分析可以得到先进行2操作再进行1操作不会更差。   考虑设cost[i][j]表示原本为i的字母全部变成了j的代价,那么代价等于原本为i,后来不是j的字符个数,如果i不等于j,代价还要加上C。现在先考虑对每个i选择一条最短的出边(g[i])。然后现在构成了一张图。   现在如果这张图中没有环,或...

2016-06-17 09:46:39 533 0

原创 bzoj4593

感谢王队长对本题的点拨...     我们先直接以1为根,考虑到一个点的代价貌似只和根与儿子节点有关。所以想到状态f[],h[],分别表示父亲还没炸,炸掉i子树 的花费和父亲先被炸掉的花费,可以观察到h[i] TYPE A :     因为c[i] TYPE B :     现在c[i] c[...

2016-05-28 14:28:06 921 0

原创 bzoj4464

OJ上放的题解是网络流这里先放一份(然而是过不了的,血泪教训,40w个点,上百万条边,跑毛啊.)这里还是放一份代码. #include #include #include #include #include #include #include #include #define i...

2016-05-20 15:50:11 416 0

原创 bzoj4460

bzoj 4460 提供一个n^3的做法. 首先考虑原题的性质,很容易知道答案不会超过目标串的长度,于是答案可以枚举。 然后我们可以枚举第一个字符是从第几行第几列开始的,然后之后的字典树暴力匹配.(n^4) (一共L个字典树,字典树i存的是每个串从位置i开始的后缀。) 后来我发现其实第一...

2016-05-10 15:07:24 675 1

原创 bzoj4572

一个鬼畜的做法...(估计没人看,看了也没人写..) 首先状压Dp应该都知道吧(然而yjq直接容斥强势艹过...),那么我们来优化状态,首先考虑不可能匹配成功的状态,把它们缩到一个状态,我们发现,哇!一下子少了好多状态!大概从几百万变成了5w-15w左右,但是Dp是状态数^2的,这样子肯定不行.....

2016-04-28 18:31:46 789 0

原创 VK Cup 2016 round 2题解

VK CUP 2016 round 2 Div2 : A:直接1,2,1,2的送,答案就是n / 3 * 2 + (n % 3 != 0) #include #include #include using namespace std; int n; int main() { cin>...

2016-04-27 15:47:48 569 0

原创 bzoj4505

考虑一位一位的枚举答案.     首先我们知道答案串(设当前枚举到的长度为L)与原串1到L,n-L+1到n是匹配的(这个性质很重要).     我们设f[i]表示从i开始长度为L的子串能不能和1-L匹配,每次L变化时首先更新一下f[i].     对于当前L,我们暂时把所有f为true的状态...

2016-04-15 17:17:31 636 0

原创 CQOI2016

T1:     大意:一个850个点,8500条边的图,问所有点对之间的最小割有多少种不同的权值。     分治最小割。(然而做这道题之前完全不知道是什么..%YY出来的lcr)。     一开始所有点在一个集合中,随便找两个点求一次最小割,然后会把点集分成两半,继续直到所有点都变成一个点为止 (...

2016-04-12 16:30:35 633 0

原创 SCOI2016酱油记

Day-2&Day-1     急急忙忙学了好多几何和字符串的算法.. Day0     随便刷了几道水题,半平面交,到了宾馆开始血浪... Day1     T1:瞄一眼发现是贪心,于是写了个AC自动机缩点..(还好学了AC自动机..直接trie树扒点估计不会..)     ...

2016-04-11 20:13:37 1546 0

原创 Educational Codeforces Round 7

Educational Codeforces Round 7 A:题意:给出一个序列,形式为1,1,2,1,2,3,1,2,3,4,......每个位置上是一个数而不是一个数位,为第n为是什么。(n        好老的题了,就是等差数列,原本还想二分,看到n范围就果断枚举了。 #inc...

2016-02-11 13:50:14 321 0

原创 AIM Tech Round Div 1

AIM Tech Round Div 1 春节过完急急忙忙先来水几道题... A:题意:给定由一个字符串凿出一个图的过程:字符串仅有a,b,c三种字符,造出的图中第i个顶点表示原来的第i个字符,i与j有连边当且仅当s[i]与s[j]相同或者s[i]与s[j]是相邻的字符((a,b),(b,c)),...

2016-02-10 18:27:57 598 0

原创 bzoj3572_hnoi2014 世界树

题目大意:给出一棵树,每次询问给出k[i]个点,如果点x离k[i]个点中的点j最近,那么称x被j管理,对于每次询问,给出k[i]个点每个点管理的点的数量(包括自己)。 保证所有询问k[i]之和不超过300000,n        首先对于所有询问的点构建一棵虚树(废话)..        (其实虚...

2016-02-03 16:35:10 557 0

原创 Codeforces round341 div2

Codeforces round341 div2 A:给出n个数,要求从中选数使得和最大且和为偶数;        统计所有数之和,若奇数个数 Mod 2 == 1,答案减去最小的那个奇数。 #include #include #include #include #include ...

2016-02-03 09:56:38 225 0

原创 SCOI2015 day1

SC省选day1(scoi2015)        T1:大意:给出一个n*m的矩阵,从中选出n个数(m>=n),保证每一行每一列都只有一个数被选中,使得选出的数中第k大的最小。(n,m        我们先把问题转化成求第n-k+1小的数最小,那么我们先二分答案,然后对于第i行,第j列...

2016-02-02 15:42:46 525 0

原创 Codeforce round340 div2

Codeforces round 340 div2 A:题意:每次可以走1-5步,问你最少多少步走到x。 不说了.. #include #include #include #include #include #include #include #include using n...

2016-01-24 09:58:04 413 0

原创 Codeforce Educational Round 6

Codeforce Educational Round 6 A:答案就是max(abs(x1-x2),abs(y1-y2)). B:打一张表就行了。 C:题意:将一个序列尽量分成多的线段,线段两两不相交且每一条线段中都有且仅有一对权值相同的数。 贪心即可,用map代替hash,每次找到2个...

2016-01-22 09:33:23 345 0

原创 bzoj3926诸神眷顾的幻想乡

题意:给出一棵树,每个节点上有一个字符,问整棵树一共多少不同的串? (保证叶子节点小于等于20) 难点1在于怎么统计到所有的子串,直接统计肯定是不行的,我们注意到叶子节点小于等于20,我们考虑将每个叶子节点作为根把树给提起来,然后定义这棵树的子串为从上到下的一个串(深度从浅到深),首先我们发现...

2016-01-21 19:03:00 806 1

原创 bzoj3998

题意:给出字符串,求其中字典序第k小的子串。 我们设Ans[s]为状态s之后一共有多少子串,这个在建完图之后倒叙更新一遍就可以了。 #include #include #include #include #include #include #include #include using nam...

2016-01-21 18:56:30 343 0

原创 bzoj2946公共串

题意:求n个字符串的最长公共子串。     我们先建出一个串的后缀自动机。 考虑后缀自动机的一个性质就是到当前状态s的所有路径都是互相包含的,这说明了什么呢?我们设Ans[i]是i状态目前能够匹配到的最长长度,那么假设当前串在i匹配的长度是x,那么Ans[i] = min(Ans[i].x),...

2016-01-21 18:53:39 365 0

原创 后缀自动机

基础知识: step[i]表示的是字符串i在原字符串中的位置。 Pareint[i]表示root到parent[i]的子串是root到i的最长后缀。 后缀自动机遍历可以得到原字符串的所有子串。 特殊技巧: 一.后缀自动机的不同子串数有两种求法: 1.       Ans = step[...

2016-01-21 18:52:48 431 0

原创 bzoj1758+WC2010

题目大意,给出一棵树,有边权,找出其中一条包含了不少于L,不多于R条边的路径,使得  Average(v(e)) 最大,上式表示所有选择的边的平均权值。 (n 思路:因为是平均数所以想到了二分(其实根本想不到),我们二分最后的答案,将树上所有边都减去当前二分到的的平均数,然后再在树中找有没有一...

2016-01-19 20:36:18 848 1

原创 Codeforces round339 div1 D

第一次做虚树的题… 题意:给出一棵树,多次询问,每次给出k[i]个点,询问将这些点从树上分离开来最少需要删除多少个点,保证k[i]的和不超过100000. 我们先建虚树,然后在虚树上Dp就可以了,我们设Dp[i][0/1],若为0表示这个点子树中所有关键点与这个点都断开了,1表示还有1个关键点连在...

2016-01-18 11:59:38 368 0

原创 虚树入门

今天学了一下虚树,简单谈一下有什么用。     所谓虚树,其实就是把询问中需要用到的点建到另一棵树上,比如如果我们当前询问一条链上的两个端点,原本如果做dfs dp的话我们的复杂度是o(n)的,但是如果是虚树,那么树上就只会有这两个端点,两个端点之间的那条边记录了原本整条链上的信息。于是复杂度变...

2016-01-18 11:58:41 7663 0

原创 求n维前缀和

#include #include #include #include #include #include #include #include using namespace std; int n,A[2000010]; int main() { scanf("%d&q...

2016-01-16 16:05:03 931 1

原创 无名概率题1

题目大意:n个点构成一个环,相邻两点之间有一条边,每次随机选出两个点,l,r,从l走到r,(若l==r则绕环一整圈),问期望多少次走完所有的边。(n (保留10位小数,不四舍五入,得分是与标答相等的位数) 思路: 数据范围感人啊,骗分的话直接随机跑个几十亿次,这样几乎能保证每个点3-4分,但...

2016-01-16 16:01:29 262 0

原创 Codeforces Educational round 5

A:比较字符串的大小,去除前导零,没啥说的… #include #include #include #include #include #include #include #include using namespace std; int A,B,lens,lent; char ...

2016-01-15 20:19:10 230 0

原创 Codeforces round339 div2

A:大意:给出l,r,k,输出k在l到r之间的所有整数次幂,没有输出-1.(l,r, 我做过最坑的A题,没有之一,原本我根本没有想到枚举,在那里乱做除法(不过好像也是我除法写错了的问题),结果后来发现枚举是logk的复杂度….python好多啊..用c++直接乘会爆long long,所以判断是...

2016-01-15 19:55:56 177 0

原创 无名线段树2

题目大意: 维护一个算式,,每次询问一个x带入算式的值是多少,从左到右计算,计算有三种:’+’,’*’,’^’,例子如下:     算式为 +2 *3 ^2 +4     X=3时,Ans=((3+2)*3)^2+4=229.     X=2时,Ans=((2+2)*3)^2+4=148. 支持这...

2016-01-14 20:19:30 184 0

原创 中国剩余定理

不考知道啊....

2016-01-14 18:37:30 203 0

原创 poj openjudge 1036 gugle seating

传送门点击打开链接 题目大意 :给出n*m的矩阵,若矩阵该位置为1,则为一个人,若为2则为一台电脑,若为0,则为空地,求最大匹配人数。 (匹配的意思是如果一个人相邻有两台电脑,且这两台电脑不在同一行或者同一列,即人,两台电脑在矩阵中构成了‘L’型,则算一种匹配,一台电脑只能和一个人匹配。) (n...

2016-01-13 19:39:34 318 0

原创 无名网络流1

题目大意:给出一个无向图,边权等于这条边连接的两个点的点权的抑或值,一直一部分点权,填出剩下的点权使得所有边权之和最小,求出这个最小值。 (n 思路:     1)首先无论是暴力还是标算都需要先考虑到一点就是拆位,将每一位分开考虑,这样才能比较方便的判断这个点取0还是1划算(暴力是拆位+穷举)...

2016-01-13 08:14:15 195 0

原创 无名数学题1(国王奇遇记减弱版)

真的是难啊...... 证明如下: 然后k^2递推就可以了

2016-01-12 21:39:29 218 0

原创 无名线段树1

题目大意: 给出一个序列A,每次询问l到r之间的和,之后将这段区间的数全部平方。 (答案Mod 9223372034707292160输出) 序列长度小于等于10w,序列中的数一开始小于Mod.操作数量小于等于10w。 看起来确实很难。 仔细玩一玩那个合数也没有发现什么有趣的性质,(虽然phi...

2016-01-12 18:37:44 281 0

原创 网络流论文推荐

这次下决心要一次性解决网络流和数学问题了,突然才发现自己连费用流都没怎么写过,看来还是太naive. 最大流与费用流点击打开链接 最小割等问题(bzoj1001)点击打开链接 有上下界的网络流问题(如营救皮卡丘等)点击打开链接

2016-01-11 22:09:20 531 0

原创 初学polya

一篇比较好的论文:http://wenku.baidu.com/link?url=KSN5ZBbKMsHr17dRdMIXnXQHi0HLMM8cRhC2d32zFmHFk3LF288Y9h50yIQCBNnkgeAPFM0iC1Y8HT-TyLK-wTaQq-eW5WV3UU4tHKBjLAW ...

2016-01-11 22:04:56 482 0

原创 JSOI2015 day1

JSOI2015 day1 t1: 题目大意 设全集为1个拥有n个数的集合,现在把全集的子集填入k行的三角形中,其中三角形第i行有i列(有点像杨辉三角). 要求对于i行j列填入的子集f[i][j],必须使得f[i][j]为f[i-1][j]的子集,同时也要是f[i][j+1]的子集.(当f[i][...

2016-01-09 16:39:17 887 0

原创 Codeforces round338 div2

codeforces round338 div2总结 A:.... B: 英文阅读题啊... 先Dp出到每个点的最长上升序列,统计答案即可. 注意一下平时的习惯,这道题我一开始以为无所谓就搜索就t了,fst了之后才反应过来.... 注意:开long long C: 暴力跑kmp.(后缀自动机可以o...

2016-01-09 16:23:34 344 0

原创 Codeforces goodbye 2015

codeforces goodbye 2015 总结 A:... B:乍一看之下是数位Dp?但是其实只需要先枚举一个二进制满串(即( 1 串中减去一个(1 C:记录一个二维前缀和. 没了.... D: 一眼Dp.我们设Dp[i][j]为从当前位置i到位置j为一个整体的方案个数. 那...

2015-12-31 16:55:35 421 0

原创 TJOI2015

day1 : T1:其实手推一下矩阵的式子就知道是最小割模型,和noi2006的最大获利大同小异。 @:胡波涛论文《最小割模型在信息学竞赛中的应用》   T2:结论: 定义:   偏序关系: 满足自反,反对称,传递的关系是自反关系   链: 偏序集A的一个子集...

2015-12-30 14:19:49 335 0

原创 BJOI2015 day1

t1 : 裸的树链剖分,我们对于每一个节点维护一颗权值线段树(其实堆就可以了),树链剖分的线段树就直接用来保存前k大的值, 每次弹出节点我们从堆中取出来就行了。(反正我写的就是树+树)。   t2 : 据说是树哈希?反正我直接暴力搜过去了,先枚举当前树以哪个点作为根,然后再将...

2015-12-30 14:19:11 459 0

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