自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nyist_xiaod

When you want to give up, think of why you persist until now.

  • 博客(26)
  • 资源 (13)
  • 收藏
  • 关注

原创 HDU 4604 Deque(LIS 转化)

题目链接:Click here~~题意:给一个序列 {An} 和一个双向队列 D,每次可以向 D 的队首或队尾插入一个元素,且 D 要保证单调不减,问如何使最后队列的长度最长。解题思路:先考虑单调递增的情况,对于 D 所能够构成的每一种序列,都可以看做以某个元素 Ax 为起始元素所形成的单增序列 Px 和单减序列 Qx 合成的。由于除了 Ax, Px 和

2013-07-25 11:25:39 978

原创 ZOJ 3634 Bounty hunter(DP)

题目链接:Click here~~题意:一个人带着初始的 X 元钱和 Y 的攻击力,依次经过 n 个城市从 1~n。在每个城市可以做两件事,花钱提升攻击力和用攻击力赚钱,且顺序不能改变。问最后从 n 出来时最多能有多少钱。(提升攻击力单价为 1点 / a[i] 元,但可以提升非整点的攻击力;攻击力赚钱情况为 b[i] 元 / 点)解题思路:由于攻

2013-07-24 09:19:14 2006

原创 ZOJ 3635 Cinema in Akiba(树状数组 + 二分)

题目链接:Click here~~题意:有 n 个位置,从小到大分别编号为 1~n。然后有 n 次操作,每次取第 Ki 个没有被取到的编号,最后询问某次操作取出的是谁。解题思路:用 sum(i) 记录 1~i 位置中,一共有几个空座位。每次二分找到第 Ki 个是哪一个,然后将这个位置 th~n 全部减一。#include #include #

2013-07-23 11:34:58 958

原创 NYOJ 720 项目安排(DP)

题目链接:Click here~~题意:给出 n 个区间 [a,b],每个区间有个权值 Wi,如何取不相交的区间,使权值最大。解题思路:估计是一道很经典的题目,目前学习了三种解法。1、如果区间范围比较小,例如这样。则可以用 dp[i] 表示考虑到数轴中 i 点时的最大值。存区间的时候,不再存入结构体,而是存入一个下标为起始点值的vecto

2013-07-23 10:57:05 1341

原创 ZOJ 3650 Toy Blocks(DP + 线段树优化转移)

题目链接:Click here~~题意:给出 n 个多米诺骨牌的 X 坐标以及高度 H,每次你可以选任意一张向左推或向右推,推倒后,会产生连锁反应,问最少几次能把所有的骨牌推倒。解题思路:先预处理出每张牌向 左/右 推能推到的最远位置,记为 l[i] 和 r[i]。这步可以通过递推的方法在均摊总复杂度为 O(n) 下得到。然后 dp[i][dir

2013-07-22 10:26:33 1085

原创 ZOJ 3653 Sleeper's Schedule(DP)

题目链接:Click here~~题意:有一个人有严格的生物钟,他一般醒的时间长度为 t,可延长 l 的时间,然后立即就会睡 k+l,且不够 t 不能睡。给 n 个节目的播出时间表,每个节目有个 val 值,问如何能使总 val 值最大。解题思路:状态不太好想。dp[i][j] 表示总时间为 i ,已经醒了 j 分钟的状态。然后对

2013-07-20 11:38:07 1182 1

原创 ZOJ 3644 Kitty's Game(状态简化 & DP)

题目链接:Click here~~题意:给出 n 个点的有向图,每个点分别有一个数字 p[i] ,获得的分数为所经过的点的最小公倍数,且不能出现最小公倍数不变的情况。起始时主人公在点 1,问走到点 n 时分数为 k 的方案数。解题思路:一道需要简化状态的 DP。虽然原本的有向图并没有保证无环,但是由于 不能出现最小公倍数不变的情况 这

2013-07-20 09:48:49 1125

原创 POJ 3694 Network(双连通分量缩点 + 路径压缩)

题目链接:Click here~~题意:n 个点 m 条边的无向图,之后有若干次操作,问每次添加一条边后,图上还剩多少个桥边(操作是累积的)。解题思路:先将无向图的 边-双连通分量 缩点,缩点后重新建图,则变为一颗树,树的每条边就可以看做桥边。不妨设每次添加的边为 。1> 如果之前 u,v 在同一个双连通分量里,则显然不会对结果产生影响。2>

2013-07-19 09:26:33 1259

原创 ZOJ 3668 Launching the Spacecraft(差分约束)

题目链接:Click here~~题意:有 n 个石头,每个石头有一些能量,给出 m 个约束条件,条件是某区间 [a,b] 内的总能量在一个范围内。输出总能量最大的方案。解题思路:令 d[i] 表示区间 [0,i] 的总能量,则约束条件即可转变成 d[b] - d[a-1] >= A , d[b] - d[a-1] 还有两个隐含条件是 d[i]

2013-07-17 13:06:23 971 2

原创 HDU 3666 THE MATRIX PROBLEM(差分约束 + spfa 深搜判环)

题目链接:Click here~~题意:给一个 n*m 的矩阵,问是否能够给每行乘以一个数 Xi,给每列除以一个数 Yj(两行两列之间可以不同),使得最后矩阵中所有元素的值在区间 [L,U] 内。解题思路:取对数后很容易就可以转成差分约束的不等式了。但这题用 spfa 队列判环会超时。于是在网上学习了一个新的姿势,就是用类似 spfa 的思想深搜来判环,

2013-07-17 09:07:19 901

翻译 高斯消元(解线性方程组 or 线性同余方程组)

解线性方程组或线性同余方程组。陪队友写了 1 天,挺爽的。目前还没有考虑 无关变元 的情况。#include #include #include #include using namespace std;typedef long long LL;int gcd(int a,int b){ return b ? gcd(b,a%b) : a;}int lcm(

2013-07-16 03:48:37 1582

原创 ZOJ 3666 Alice and Bob(博弈 sg 函数入门)

题目链接:Click here~~题意:在一个有向无环图上,有若干玩具,每人每次只能将一个玩具移动一步,最后不能移动者输。解题思路:很早就听说 sg 函数,今天终于大概看了看,好像也不难写。算法理解的不深,先将就着吧。算法思想:将 博弈游戏 转成一个 有向无环图,点 u 为能够表述游戏的状态,边 表示状态 u 一步能到达状态 v。  s

2013-07-14 21:10:44 1045

原创 HDU 1384 Intervals(差分约束)

题目链接:Click here~~题意:给出 n 个区间,每个区间有个权值 Ci,最终找出一个最少的数字的集合,使得满足每个区间中至少包含 Ci 个数。解题思路:算法介绍如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如xj-xi观察xj-xi看了 KIDx 大牛的博客,大概懂了。将 [0,n] 中的所

2013-07-13 17:33:15 2403

原创 ZOJ 3675 Trim the Nails(状态压缩 + BFS)

题目链接:Click here~~题意:有一个长为 m 的 ’*‘ 串M 和 一个长为 n 的包含 ’*‘ 或 '.' 的 串N,可以在任意位置进行匹配,匹配过后 串M 中同为'*'的位置会被清空。问最少多少步能使整个 串M 被清空。解题思路:由于 串M 最长20,所以可以用 dp[mask] 表示当前状态为 mask 时候最少几步能到达。

2013-07-13 10:00:32 774

原创 CF 55D - Beautiful numbers(数位DP)

题目链接:Click here~~题意:如果一个数能被自己各个位的数字整除,那么它就叫 Beautiful numbers。求区间 [a,b] 中 Beautiful numbers 的个数。解题思路:先分析出,2~9 的最大的最小公倍数是 2520({5,7,8,9})。于是让 dp[len][mask][remaind]  表示长度为 len

2013-07-11 18:28:37 2173

原创 HDU 3709 Balanced Number(数位DP)

题目链接:Click here~~题意:对于某个 number,你可以 fix a pivot 在某位,然后如果分成的左右两部分的 sigma(d[i] * | i - fixloc |)相等,则它是 Balanced Number。统计区间 [a,b] 中Balance Number 的个数。解题思路:首先要分析出,对于某个非 0 的 number,最

2013-07-11 16:46:05 3878

原创 HDU 3652 B-number(数位DP)

题目链接:Click here~~题意:统计区间 [1,n] 中含有 '13' 且模 13 为 0 的数字有多少个。解题思路:dp[len][remain][mask][state] 表示长度为 len,余数为 remain,是否含有 13 为 mask,前缀是否为 1 为 state  ... 的方案数。Point => 当每位数字都枚举完(即 len

2013-07-11 15:32:00 1496

原创 HDU 2089 不要62(数位DP入门)

题目链接:Click here~~题意:统计区间 [a,b] 中不含 4 和 62 的数字有多少个。解题思路:dp[len][0] 表示长度为 len 的数字不含 4 和 62 的个数。dp[len][1] 表示长度为 len 的数字不含 4 和 62 但首位不为 2 的个数。状态转移方程为:dp[i][0] = 8 * dp[i-1][0] +

2013-07-11 09:35:15 16082 9

原创 HDU 1599 find the mincost route(无向图最小环)

题目链接:Click here~~题意:给一个无向图,求出图中的最小环。解题思路:摘别人的博客。floyd求最小环:        抛开Dijkstra算法,进而我们想到用Floyd算法。我们知道,Floyd算法在进行时会不断更新矩阵dist(k)。设dist[k,i,j]表示从结点i到结点j且满足所有中间结点,它们均属于集合{1,2,⋯

2013-07-10 12:00:50 1045

原创 POJ 3621 Sightseeing Cows(01分数规划)

题目链接:Click here~~题意:给出一个有向图,找一条环,使得环上的 点权之和/边权之和 最大。解题思路:此题仍是 01分数规划 的应用,和 最优比例生成树 也比较像。令 L = ∑a[i]*x[i] / ∑b[i]*x[i](x[i] = {0,1} 表示是否选取 i 这条边,a[i] 表示 i 这条边始点或末点的点权,b[i] 表示 i 这条

2013-07-10 09:22:24 733

原创 POJ 2728 Desert King(最优比例生成树)

题目链接:Click here~~题意:没看,直接搜的别人的建图。解题思路:调了一上午,哎。下面转自大神博客。概念有带权图G, 对于图中每条边e[i], 都有benifit[i](收入)和cost[i](花费), 我们要求的是一棵生成树T, 它使得 ∑(benifit[i]) / ∑(cost[i]), i∈T 最大(或最

2013-07-09 11:48:13 1478

原创 POJ 3635 Full Tank?(BFS)

题目链接:Click here~~题意:n 个点的无向图,边权值为距离,点权值为油价。你开着一辆油箱容量为 c 的坦克,从 s 到 e。问最少花费多少钱。解题思路:很容易想到状态, dp[i][j] 表示 到达 i 点剩余油量为 j 的时候的最小花费。转移好转,但是不好找到最优状态,所以要用节点存储状态,然后用优先队列,每次弹出的节点(cost 最小)一

2013-07-08 15:20:13 810

原创 ZOJ 3332 Strange Country II(竞赛图中的哈密顿路)

题目链接:Click here~~题意:n 个点的竞赛图,找出它的哈密顿路(n 解题思路:首先,竞赛图是指每两个点之间都有一条边的有向图(即边数为 n*(n-1)/2 )。然后,对于竞赛图,一定存在哈密顿路。转载一个证明:求竞赛图中的哈密顿路的算法:首先,由数学归纳法可证竞赛图在n>=2时必存在哈密顿路;(1)n=

2013-07-07 16:12:52 1288

原创 HDU 1116 Play on Words(有向图欧拉路)

题目链接:Click here~~题意:给 n 个词语,问是否能够词语接龙。解题思路:先用并查集找连通分量,然后根据结论来吧。#include #include #include #include #include using namespace std;namespace UFset{ const int N = 27;

2013-07-07 11:20:36 952

原创 HDU 3018 Ant Trip(连通分量 & 欧拉路)

题目链接:Click here~~题意:无向图中,不算孤立点,问最少几笔才能画完。解题思路:结论:对于每个连通分量,如果存在欧拉回路,那么它需要 1 笔。如果不存在,那么它需要 奇数点/2 笔。#include #include #include #include using namespace std;namespace UFset{

2013-07-07 09:49:16 926

原创 ZOJ 3725 Painting Storages(DP解排列计数)

题目链接:Click here~~题意:n个格子排成一条直线,可以选择涂成红色或蓝色,问最少 m 个连续为红色的方案数。解题思路:应该是这次 ZOJ 月赛最水的一题,可惜还是没想到。。。dp[i] 表示前 i 个最少 m 个连续为红色的方案数。转移时,分类讨论:1、前 i-1 个已经满足这个性质,那么,第 i 个随意涂色,方案数为

2013-07-01 11:14:07 2362

国家集训队2009论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2008论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2007论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2006论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2005

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2004

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2003论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2002论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2001论文

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队2000论文集

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

国家集训队论文1999年

与大家分享国家集训队论文,仔细阅读,受益匪浅。

2012-04-18

杭电ACM课件

杭电ACM课件,与感兴趣的同学分享,内容比较简单,适合初学者。

2012-04-18

空空如也

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

TA关注的人

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