![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Bzoj
MintGreenTZ
这个作者很懒,什么都没留下…
展开
-
Bzoj 1236 SPOJ1433 KPSUM
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1236 Time Limit: 1 Sec Memory Limit: 162 MB Description 给你一个正整数N,依次把1到N写下来,在每两个数字之间交替的加上+,-号(注意是数字不是数),求这个表达式的值。例如,N=15时,表达式为1-2+3-4+5-6+7原创 2016-07-17 16:51:36 · 528 阅读 · 0 评论 -
Bzoj 1115: [POI2009]石子游戏Kam
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1115考虑将相邻两堆做差,那么原问题中一堆减少了就相当于新问题中一堆向右一动一格,那就变成了阶梯博弈,阶梯博弈又可以化归成奇数堆的nim游戏,因为奇数堆移到偶数堆相当于拿走了,因为偶数堆每移一次,可以再移一次再次移到偶数堆直至移除,所以偶数堆的相当于已经被移走了。#include<bits/s原创 2017-04-04 21:38:35 · 309 阅读 · 0 评论 -
Bzoj1901 Zju2112 Dynamic Rankings
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1901 我们需要做的是将两个前缀权值线段树相减,我们用外层树状数组,内层权值线段树来实现。外层n棵树分别表示树状数组意义下的权值线段树和,如第i棵树记的是i到i-lowbit(i)+1的权值线段树的和,那么单点修改的时候需要修改log级别个树,查询的时候我们需要提取出l~r区间内的权值线段树原创 2017-04-04 15:51:39 · 311 阅读 · 0 评论 -
Bzoj 2431: [HAOI2009]逆序对数列
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=2431 用f[i][j]f[i][j]表示前ii个数字为止产生jj个逆序对的方案数,显然第ii个数放进去会产生00~i−1i-1个逆序对,用前缀和优化转移即可。#include<bits/stdc++.h>const int N = 1005;const int K = 1005;co原创 2017-04-04 16:21:32 · 335 阅读 · 0 评论 -
Bzoj 2460: [BeiJing2011]元素
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=2460Description相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔 法矿石炼制法杖的技术。那时人们就认识到,一个法杖的法力取决于使用的矿石。 一般地,矿石越多则法力越强,但物极必反:有时,人们为了获取更强的法力而 使用了很多矿石,却在炼制过程中发现原创 2017-01-08 16:27:30 · 338 阅读 · 0 评论 -
Bzoj 2115: [Wc2011] Xor
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=2115 Input第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目。 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 Di的无向边。 图中可能有重边或自环。Output仅包含一个整数,表示最大的XOR和(十进制结果),注意原创 2017-01-08 13:59:31 · 354 阅读 · 0 评论 -
bzoj 2151 种树
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=2151 最容易想到的是O(n^2) dp。 这里有个优雅处理,就是当选一棵树时,删掉旁边两棵树,把旁边两棵树美观度之和减去当前树的美观度替换当前树的美观度(即a[i]:=a[left[i]]+a[right[i]]-a[i]),这样下次如果取了这棵树就代表取旁边两棵树而不取中间原创 2016-08-14 14:44:47 · 371 阅读 · 0 评论 -
Bzoj 1596: [Usaco2008 Jan]电话网络
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1596 有点像“没有上司的舞会”,但因为两座塔可以距离最多为3,所以要记三种状态。f[i]f[i]表示ii这个点已经放了,g[i]g[i]表示ii这个点没放但已经子树的通讯塔范围内了,h[i]h[i]表示ii这个点没放而且不在子树的通讯塔范围内。具体转移不难,如果不会可以参考代码。type原创 2016-10-30 22:31:15 · 442 阅读 · 0 评论 -
Bzoj1775 [Usaco2009 Dec]Vidgame 电视游戏问题
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1775带依赖关系的背包。为了防止泛化物品之间的并,对于一个泛化物品,强制取那个子树的物品,传给它的子树。(具体表现是传给它的时候就减去它的体积,计算答案时强行加上权值)。 对于当前点有fi,对于它的一棵子树s,先将fi传给fs,并且强制减去体积,计算完fs时,fs已经包含fi,这时候将fi与原创 2016-10-18 19:16:10 · 663 阅读 · 0 评论 -
Bzoj1572 [Usaco2009 Open]工作安排Job
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1572 反过来做,每个任务都有一个开始时间,到了开始时间就压进堆里,每秒弹出一个价值最高的。var d,v,heap:array[0..100050] of longint; n,i,time,cnt,p:longint; ans:int64;procedure swap(va原创 2016-10-27 20:15:58 · 545 阅读 · 0 评论 -
Bzoj1232 [Usaco2008Nov]安慰奶牛cheer
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1232 题解:最小生成树,边权是原边权两倍加上两端点权。最后加上点权最小的点的点权(出发点)。var a,fa:array[0..10050] of longint; x,y,v:array[0..100050] of longint; n,m,i,f1,f2:longint;原创 2016-10-27 19:01:48 · 402 阅读 · 0 评论 -
Bzoj1231 [Usaco2008 Nov]mixup2 混乱的奶牛
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1231 题目简述:给出nn(4≤\len≤\le16)个数,求满足任意相邻元素差大于kk的排列数。 题解:看数据范围像是压位,实际上就是压位。用f[i][j][s]f[i][j][s]表示前ii位,最后一位是jj,已经放过的集合是ss的方案数。枚举第i+1i+1位放什么,直接转移即可。va原创 2016-10-27 18:35:32 · 470 阅读 · 0 评论 -
Bzoj 1774 [Usaco2009 Dec]Toll 过路费
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1774 题目简述:求两点之间最短路,特别的,最短路定义为边权和加最大点权。(n≤\le250) 题解:看数据范围,可以考虑Floyd,一般Floyd最外层循环枚举的是最大标号的中转点,在这题中,不妨以点权从小到大的顺序枚举,在中转点点权比两端点点权大的时候,说明中转点是路径上权值最大的点,原创 2016-10-27 18:00:16 · 524 阅读 · 0 评论 -
Bzoj 1783: [Usaco2010 Jan]Taking Turns
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1783 一排数,两个人轮流取数,保证取的位置递增,每个人要使自己取的数的和尽量大,求两个人都在最优策略下取的和各是多少。(1 <= N <= 700,000) 用f[i]记先手取第i位先手取最多能取多少,g[i]记先手取第i位后手取最多能取多少,从后往前推,对于一个i,后手最大能取的肯定是原创 2016-10-22 08:12:58 · 521 阅读 · 0 评论 -
Bzoj 1729 [Usaco2005 dec] Cow Patterns 牛的模式匹配
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1729 http://poj.org/problem?id=3167 这题类似kmp,但匹配的时候不是直接的关键字匹配,而是排名的匹配,在kmp的基础上,每次比较相同或不同不是直接的关键字比较,而是用树状数组统计小于当前数和等于当前数的数量,如果对应相同,即排名相同。const MX=原创 2016-10-11 19:57:11 · 860 阅读 · 0 评论 -
bzoj1486 [HNOI2009]最小圈
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1486 二分答案然后将所有边减去答案判有没有负环是比较容易想到的,关键是负环如果用一般的SPFA会T掉,这时候就要用到负环的一个性质:负环上必然存在一点使得从这点开始将边权按顺序相加的和始终为负。 所以可以dfs,一开始dis数组清零,因为扫到正的dis毫无用处,将每个点都原创 2016-08-14 14:58:56 · 510 阅读 · 0 评论 -
Bzoj2595: [Wc2008]游览计划
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=2595标算是斯坦纳树,其实类似状压dp。 首先答案一定是树形的,否则断开一条环上边,不影响连通性,答案不会变劣。 用f[x][y][s]表示以x,y为根的,经过了至少 s的景点的树,这里的s是压过的0/1表示的景点是否访问过的状态。 有两种状态转移,一种是合并两棵树f[x][y][s]:原创 2016-09-13 11:17:14 · 360 阅读 · 0 评论 -
Bzoj 4824: [Cqoi2017]老C的键盘
题意简述:给出一个大小为nn的完全二叉树,每条边上有一个符号,表示相邻两节点数的大小关系,把一个nn的排列填进去,问合法方案数。 题解:用f[i][j]f[i][j]表示第ii个节点,排名为jj的方案数。对于每个点,把它的子树一棵一棵合并上来,设一棵子树AA排名为ii,另一棵子树BB有jj个元素插到ii的前面,合法的BB的排名是一个连续的区间,能用前缀和优化,jj个数插到ii前面,size[B]s原创 2017-04-14 21:01:43 · 1148 阅读 · 0 评论