自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

世界

誰も いない 枯れた世界で 悪戲の 意味を知ったよ

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

原创 BZOJ 3895 取石子 博弈论+记忆化搜索

题目大意:给定n堆石子,两人轮流操作,每个人可以合并两堆石子或拿走一个石子,不能操作者输,问是否先手必胜直接想很难搞,我们不妨来考虑一个特殊情况假设每堆石子的数量都>1那么我们定义操作数b为当前石子总数+当前堆数-1若b为奇数,则先手必胜,否则后手必胜证明:若当前只有一堆,则正确性显然否则:若b为奇数,那么先手只需进行一次合成操作,此时操作数会-1,且仍不存在大小为

2015-02-28 19:59:20 2554 3

原创 BZOJ 2962 序列操作 线段树

题目大意:给定一个序列,给定一个长度为n的序列,维护三种操作:区间加区间变为相反数求某个区间内任取c个不同的数乘积的所有方案之和对P的模比如说a b c三个数中取两个 就是ab+ac+bc这题显然是用线段树来维护下- -我们用一个0~20的数组a来记录某个区间的信息,其中a[i]表示区间内取i个数的乘积之和区间合并就是a[i]=Σb[j]*c[i-j] 这个很好理解

2015-02-28 17:27:19 2019

原创 BZOJ 3893 [Usaco2014 Dec]Cow Jog

题目大意:给定一些牛,每头牛有一个初始位置和速度,如果某头牛能追上后面的那头速度就会和后面那头一样,求T分钟后会形成多少小团体《论排序算法的低效性和如何避免使用排序算法以及认真读题的重要性》一头牛的速度不会被后面的牛所影响因此我们从后往前扫,如果当前的牛追不上后面那个小团体中最慢的那头牛,这头牛就成为新的小团体时间复杂度O(n)注意数据有点问题,虽然说初始位置和速度都小于等于1

2015-02-27 20:36:57 1712

原创 BZOJ 3891 [Usaco2014 Dec]Piggy Back BFS

题目大意:给定一张无向图,第一个人从点1出发每走一条边消耗A,第二个人从点2出发每走一条边消耗B,两个人相遇后一起走每走一条边消耗C,两个人到达点n的最小花销分别从点1、点2、点n出发BFS一遍,预处理出每个点到点1、点2、点n的最短路然后枚举两人相遇的点,计算消耗之和即可#include #include #include #include #define M 40400u

2015-02-27 20:03:53 1351

原创 BZOJ 3892 [Usaco2014 Dec]Marathon 动态规划

题目大意:给定n个点,定义从一个点到另一个点的距离为曼哈顿距离,要求从点1依次走到点n,中途可以跳过k个点不走,求最小距离和令f[i][j]表示从第一个点走到第i个点中途跳过j次的最小距离和则有f[i][j]=min{f[i-k-1][j-k]+dis[i-k-1][i]}时间复杂度O(n^3)#include #include #include #include #def

2015-02-27 20:00:04 1675

原创 BZOJ 3894 文理分科 最小割

题目大意:给定一个m*n的矩阵,每个格子的人可以学文或者学理,学文和学理各有一个满意度,如果以某人为中心的十字内所有人都学文或者学理还会得到一个额外满意度,求最大满意度之和令S集为学文,T集为学理每个人学文或者学理的满意度很好连边如果某个集合内的人都学理会获得一个满意度,那么就新加一个点,将集合内的所有人向这个点连流量为正无穷的边,再从这个点向T连一条流量为满意度的边,表示集合内任意一

2015-02-27 15:09:25 3799

原创 BZOJ 3875 Ahoi2014 骑士游戏 SPFA

题目大意:给定n个怪物,每个怪物可以用魔法直接干掉,或者用物理攻击使其分裂为一些其他怪物,求杀掉1号怪物的最小花销令f[i]为杀死i号怪物的最小花销,则f[i]=min(k[i],s[i]+Σf[j]) 其中j为i用物理攻击后可以分裂为的怪物但是直接DP有后效性,因此我们用SPFA来跑这个DP即可注意如果每次更新一个点之后都重新计算花销会T掉改成减掉花销的差值就好了 具体写法去看代

2015-02-27 14:04:21 2244

原创 BZOJ 3454 家族 并查集

题目大意:给定一张无向图,每个点有边权,给每个联通块大小一个喜爱度,求一个最小的区间,使保留这个区间内的所有边权的边时喜爱度之和最大nm脑残没法治系列……如果暴力枚举区间并每次计算喜爱度,时间复杂度为O(nm^2),超时固定一个左端点,将右端点右移,每次用并查集加边并维护喜爱度之和,时间复杂度O(m^2)然后这题就做完了= =#include #include #inc

2015-02-26 22:37:58 1196

原创 BZOJ 2500 幸福的道路 树形DP+单调队列

题目大意:给定一棵树,令a[i]为从第i个节点出发的最长链,求a[i]中最长的区间,满足区间内最大值与最小值之差不超过m读错题害死人,脑残害死人求a[i]显然是树形DP考虑从一个点出发的链可以从子节点走,也可以从父节点走因此我们DP两次,第一次求出从子节点走的最长链,第二次求出从父节点走的最长链,两次取max就是答案但是直接DP会有问题,因为从父节点走的最长链可能是从自己的子树

2015-02-26 16:35:18 1750 1

原创 BZOJ 1190 HNOI2007 梦幻岛宝珠 动态规划

题目大意:01背包,其中weight直接背包肯定TLE+MLE考虑到每个weight都能写成a*2^b的形式,显然我们要按照b分层来进行背包令f[i][j]表示有j*2^i+(w&(1首先每层内部先做一个01背包然后层与层之间再转移从大到小枚举j 转移方程为f[i][j]=max{f[i][j],f[i][j-k]+f[i-1][min(k*2+((w>>i-1)&1)

2015-02-26 15:50:48 2852 3

原创 BZOJ 3884 上帝与集合的正确用法 欧拉定理

题目大意:求2^(2^(2^(2^(2^...)))) mod p的值SB出题人被各种乱艹系列……其实是某天脑洞比较大突然想算算这东西= = 然后就发现了这个好玩的性质= =其实+∞个2看着吓人其实没啥可怕的= =#include #include #include #include #define M 10001000using namespace std;i

2015-02-26 11:20:22 11858 9

原创 BZOJ 2430 Poi2003 Chocolate 贪心

题目大意:给定一个巧克力,怎么切看题目吧我实在写不动了= =首先每条线被切至少一次在此基础上一条线每被切一次就多付出一份代价故每个交叉点上用权值较大的线切权值较小的线比较优说白了就是大的先切然后小的后切 贪心的证明我说不明白了大家意会吧QAQ一天之内写了整整十道题也是够受的了QAQ#include #include #include #include #de

2015-02-24 21:31:30 1525

原创 BZOJ 3043 IncDec Sequence 差分

题目大意:给定一个序列,提供一个操作:将某个区间内所有数+1或-1求将所有数变成一样最少多少次操作,以及最终可以有多少种数考虑差分后的序列每次对[l,r]进行+1/-1,相当于在差分后的数组上对l进行+1/-1,然后对r+1进行-1/+1特殊的,如果r=n,那么就相当于对l进行了+1/-1我们最终的目标是将差分数组变成第一个位置是最终的数字,2~n都是0那么我们统计

2015-02-24 20:04:36 2841

原创 BZOJ 2306 Ctsc2011 幸福路径 倍增Floyd

题目大意:给定一张有向图,每个点有权值,蚂蚁从某个节点出发,初始体力值为1,每走一条边体力值*=p,每经过一个点会获得幸福值为点权*体力值,求最大幸福值令f[i][j][t]为从点i走到点j花2^t步的最大幸福值那么有f[i][j][t]=max{f[i][k][t-1]+f[k][j][t-1]*p^(2^t)}迭代多次即可得到答案的近似值注意蚂蚁可能卡死在某个点不动,因此初始要

2015-02-24 19:18:10 2246

原创 BZOJ 3544 ONTAK2010 Creative Accounting 平衡树

题目大意:给定一个序列,求一个区间之和mod m的值最大维护一个前缀和,每次利用set寻找第一个比当前值大的数,如果找不到就去找整个set中最小的数,然后将当前前缀和加入set注意set中upper_bound的写法upper_bound(s.begin(),s.end(),a[i])是O(n)的s.upper_bound(a[i])才是O(logn)的好坑。。。。。#in

2015-02-24 18:27:59 1359

原创 BZOJ 2565 最长双回文串 Hash+二分

题目大意:给定一个字符串,求一个最长的子串,该字串可以分解为两个回文子串傻逼的我又忘了Manacher怎么写了= = 无奈Hash+二分吧首先将字符串用分隔符倍增,然后求出以每个点为中心的最长回文半径然后考虑两个回文串怎么合并成一个我们发现图中以i为中心的回文串和以j为中心的回文串合并后长度恰好为(j-i)*2能合并的前提是以两个点为中心的回文串有交点那么对于每个j

2015-02-24 17:04:30 2286 4

原创 BZOJ 1967 Ahoi2005 CROSS 穿越磁场 FloodFill+BFS

题目大意:给定平面上的n个正方形,求某个点到另一个点至少穿过多少个边界一开始想对于每个正方形判断一下起点和终点是否在同一侧= = 但是反例显然考虑到n然后跑最短路就行了……由于边权都是1,所以用BFS就能搞出最短路了连边连挂了调了半宿……#include #include #include #include #define M 310using namespace s

2015-02-24 02:17:43 2131 5

原创 BZOJ 2146 Construct 计算几何

题目大意:给定曼哈顿空间下的一个多边形,求这个多边形的凸包的周长和面积注意是曼哈顿空间第一问直接用个最小的矩形框一下就好第二问就要求曼哈顿空间内的凸包了容易YY出来曼哈顿空间下的凸包一定是这种东西我们将这个凸包分成左上 右上 左下 右下四部分那么每部分都是一个单调增的点序列 扫一遍就行求出凸包上的关键点之后(图中所有凸出来的点)计算下面积即可此外应某人不想这

2015-02-24 00:06:23 2265

原创 BZOJ 1644 Usaco2007 Oct Obstacle Course 障碍训练课 SPFA

题目大意:给定一个有坏点的网格图,从A点走到B点,要求拐弯最少裸SPFA……在状态那里记录下方向就好了水水更健康~~#include #include #include #include #define M 10100#define P(x,y) ((x)*n-n+(y))using namespace std;const int dx[]={0,0,1,-1};con

2015-02-23 22:19:11 1467

原创 BZOJ 1907 树的路径覆盖 树形DP

题目大意:给定一棵树,求最小路径覆盖数据范围1W,看到还想跑网络流来着= = 不过算了明明树形DP这么水还是不要用网络流这种大杀器为好首先将所有的链都考虑成以链上所有点的LCA为转折点的V字形那么点有两种:转折点和非转折点因此我们选择两种状态进行转移:还会和父亲组成链的状态和成为转折点的状态转移就自己YY算了时间复杂度是线性的#include #include #i

2015-02-23 19:55:45 1917 4

原创 Wc2015……酱油记?

怎么看大家都在写酱油记我也来水一发算了= =宿舍网络不大好= = 加上患上了不治之症扁桃腺发炎啥的= = 这篇算是之后没事闲的补一发了吧……===============================DAY 0====================================凌晨一点的火车QAQ 大东北离杭州真是远QAQ等车时群里(不要问我是哪里的群啦)有妹子失恋-

2015-02-22 23:40:12 3885 8

原创 BZOJ 2314 士兵的放置(play) 树形DP

题目大意:给定一棵树,求最小支配集以及最小支配集数量首先我们需要会求最小支配集- -其实支配集的求法很优雅的= = 那些第一问就写了一大坨的第二问还怎么写- -可以自己YY一下简单的支配集求法= = 实在不懂看代码吧我懒得解释了= =然后第二问就直接把方案数顺便统计下就行了大半夜胡乱写了发居然也过了= =#include #include #in

2015-02-20 00:19:16 2300

原创 BZOJ 2125 最短路 静态仙人掌

题目大意:给定一棵仙人掌,多次询问两点之间的最短路静态仙人掌= = 在VFK讲仙人掌之前就想做= = 结果一直拖= =好不容易写完了= = 刚过样例 BZ就开始维护- - 维护到闭营= = 交上去还WA了= = 尼玛我这傻逼到底还是把倍增LCA写挂了= =算了回归正题首先我们的思路是这样的考虑给定的是一棵树 多次询问树上两点间距离 那么我们一般的做法是预处理每个点到

2015-02-18 15:02:58 3402

原创 BZOJ 3193 JLOI2013 地形生成 组合数学

题目大意:给定一些山,每座山有一个高度和一个关键值,现在要将这些山排成一个序列,要求每座山之前高度高于它的山的数量不能超过它的关键值,求合法的标号序列数和高度序列数= =首先我们考虑第一问我们发现高度较小的山对高度较大的山是没有影响的那么我们可以将山按照高度从大到小排序 每座山插入时都有一些备选位置将备选位置数相乘即是答案现在考虑第二问嘲讽:谁能告诉我O(n^3

2015-02-18 14:49:36 1755

原创 BZOJ 1263 SCOI2006 整数划分 高精度

题目大意:给定一个数n,要求将n划分成一些正整数的和,使这些正整数的乘积最大结论:如果n是3的倍数 那么将n划分成n/3个3是最优的如果n是3的倍数+1 那么将n划分成(n-4)/3个3和两个2是最优的如果n是3的倍数+2 那么将n划分成(n-2)/3个3和1个2是最优的证明是有的考虑不是划分成整数,而是划分成任意实数设我们将n划分成了x个正实数之和易知当这x个数相

2015-02-07 12:41:00 2209

原创 BZOJ 2839 集合计数 容斥原理

题目大意:给定n个元素,求交集大小为k的集合的集合共有多少种考虑容斥原理 计算交集大小至少为i的集合有多少种首先需要选出i个元素 方案为C(n,i)其它2^(n-i)个集合每个可选可不选 一共(2^[2^(n-i)]-1)种故答案为Σ[k#include #include #include #include #define M 1001001#define MOD 1

2015-02-05 14:48:23 1836

原创 POJ 1737 Connected Graph 递推

题目大意:求n个点能组成多少种无向连通图多年的老心病终于干掉了- -令f[i]表示i个点能组成多少种无向图首先易知我们能生成2^(i*(i-1)/2)种图 但是一些是不合法的 我们要将不合法的干掉枚举1号节点与多少个点连通设1号节点所在联通块大小为j(1那么与1相连的其它点有C(i-1,j-1)中选法,1号节点所在联通块有f[j]种连法,不与1号节点相连的点有2^((i-j

2015-02-05 10:57:09 2930

原创 BZOJ 2157 旅游 树链剖分

题目大意:维护一棵树,每条边有边权,支持下列操作:1.修改某条边的边权2.将某条路经上的边权反转3.询问某条路经上的和4.询问某条路经上的最大值5.询问某条路经上的最小值裸链剖怎么这么多- -边权的处理方式是把边权放到两端点中深度较大的那个里反转就把和取反,最大最小值交换后取反就行了为何这数据范围给我一种“暴力MS能艹过去?”的错觉- -#include

2015-02-05 09:29:38 2496 1

原创 BZOJ 2322 BeiJing2011 梦想封印 高斯消元

题目大意:给定一张带权无向图,每次删去一条边并询问从点1出发走一条路径可以走出多少种不同的边权异或和删边不好做 首先倒着做 把删边改成加边回忆2115那题的做法 我们可以把一条路径的异或和拆成一条简单路径和一些环的异或值2115是求最大异或和  这个题是求异或和的个数因此我们维护两个集合 环的异或和集合和路径的异或和集合这里说的路径包括原地不动 即从1到

2015-02-04 19:29:11 1717

原创 BZOJ 1444 JSOI2009 有趣的游戏 AC自动机+矩阵乘法

题目大意:给定n个长度为l的模式串,现在要用前m个大写字母生成一个随机串,每个字符有自己的出现几率,第一次出现的字符串获胜,求最终每个字符串的获胜几率建出AC自动机,搞出转移矩阵如果某个节点是模式串那么这个节点只向自己连一条概率为1的出边然后把转移矩阵自乘50遍即可#include #include #include #include #define M 120using

2015-02-04 13:50:22 2353

原创 BZOJ 2836 魔法树 树链剖分

题目大意:维护一棵有根树,每个节点初始权值为0,支持下列操作:1.链上+2.子树求和。。。。。链剖裸题- -果然链剖这种东西想要1A实在是不咋现实- -#include #include #include #include #define M 100100using namespace std;struct Segtree{ Segtree *ls,*rs; l

2015-02-04 11:38:14 1682

原创 BZOJ 3771 Triple 母函数+FFT

题目大意:给定n个物品,可以用一个/两个/三个不同的物品凑出不同的价值,求每种价值有多少种拼凑方案(顺序不同算一种)首先搞出这n个物品的母函数a将a的每项的平方求和得到多项式b将a的每项的立方求和得到多项式c那么如果不考虑顺序和重复 那么方案数就是a+b+c现在考虑顺序和重复后三个物品的方案数为(a^3-3*a*b+2*c)/6两个物品的方案数为(a^2-b)/2一

2015-02-04 10:31:39 2224

原创 BZOJ 1778 Usaco2010 Hol Dotp 驱逐猪猡 期望DP+高斯消元

题目大意:给定一个无向图,炸弹从1号节点出发,每个时刻有P/Q的概率爆炸,如果某个时刻没有爆炸,就会等概率沿着随机一条出边走到下一个城市,求最终每个城市的爆炸概率#include #include #include #include #include #define M 330using namespace std;int n,m,p,q;int degree[M];

2015-02-04 08:58:56 2159

原创 BZOJ 3029 守卫者的挑战 期望DP

题目大意:给定n个事件,第i个事件发生的概率为pi,收益为ai,初始收益为k,求n个事件之后发生的事件数>=l且收益>=0的概率令f[i][j][k]表示第i个事件进行后已经发生了j个事件且当前受益为k的概率MB破输入法打两行字错了十多遍第三维好大- - 不会爆?实际上第三维大于n就没有意义了 因为收益大于n时一定不会扣到负数 因此将第三维大于n的状态全都存到n上即可时间复杂度

2015-02-03 20:30:10 1942 1

原创 BZOJ 1076 SCOI2008 奖励关 期望状压DP

题目大意:给定k次弹出宝物的机会,每次随机弹出n种宝物的机会,如果吃过这种宝物的所有前提宝物就可以吃这种宝物,求最优策略的期望得分看到数据范围果断状压DP- - 不看数据范围害死人- -至于吃还是不吃 这是个问题对于这种最优策略的期望DP 我们一般都是从后往前推枚举每次出现宝物 枚举此时的状态 枚举宝物是哪种如果当前的宝物可以吃 就在吃与不吃的后继状态中选择最大值加到当前状态上

2015-02-03 19:47:45 1611

原创 BZOJ 3165 Heoi2013 Segment 线段树

题目大意:给定一个平面,多次插入一条线段,以及询问某个x值能截到的最大纵坐标OTZ一份详细的网址:http://hi.baidu.com/wyl8899/item/2deafd3a376ef2d46d15e998注意细节#include #include #include #include #include #define M 100100#define EPS 1e-

2015-02-03 12:53:53 1784

原创 BZOJ 3450 Tyvj1952 Easy 期望DP

题目大意:给定一个OX序列,一些点未确定,连续len长度的O会得到len^2的收益,求期望收益值令f[i]为第i个点的期望收益值,l[i]为第i个点的期望长度如果一个点是'O' 那么l[i]=l[i-1]+1 f[i]=f[i-1]+(l[i]*2-1)如果一个点是'X' 那么l[i]=0 f[i]=f[i-1]如果一个点是'?' 那么l[i]=(l[i-1]+1)/2 f[i]=

2015-02-03 00:26:10 1876

原创 BZOJ 2079 Poi2010 Guilds 并查集

题目大意:给定一个无向图,要求将一些点红黑染色,使每个点及其相连的点中至少有一个黑色的点和一个红色的点逗比题ぽい~对于任意一个大小>=2的连通图,我们只需要搞出这个图的任意一棵生成树,将这棵生成树撸成二分图再染色就一定能满足要求的ぽい~因此无法满足要求当且仅当存在一个大小为1的联通块ぽい~并查集即可ぽい~#include #include #include #includ

2015-02-02 20:38:55 1021

原创 BZOJ 3011 Usaco2012 Dec Running Away From the Barn 可并堆

题目大意:给定一棵有根树,求以每个点为根的子树中有多少点到它的距离不超过l第一眼是可并堆- - 于是怒写- - 管它正解是啥- -从下到上维护可并大根堆 键值是该点到当前根节点的距离 一旦堆顶剪枝大于l就弹顶时间复杂度O(nlogn)什么?你说将整个堆都加上一个值?打标记不就好了- - 毫无疑问可并堆是可以打标记的- -此外我的随机堆写if(flag^=1)就T写if(ra

2015-02-02 20:11:56 1425

原创 BZOJ 1406 AHOI2007 密码箱 数论

题目大意:给定n,求[1,n)内所有满足x^2≡1(mod n)的xx^2=kn+1x^2-1=kn(x+1)(x-1)=kn令x+1=k1n1,x-1=k2n2,其中k1k2=k,n1n2=n因此我们可以枚举n的约数中所有大于等于√n的,分别作为n1和n2代入验证最后排序去重输出即可(我偷懒用了map#include #include #include #inc

2015-02-02 13:21:21 2090

空空如也

空空如也

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

TA关注的人

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