02 2017 档案
摘要:UVA.10881 Piotr’s Ants (思维题)题意分析有一根长度为L cm的木棍,上有n只蚂蚁,蚂蚁要么向左爬,要么向右,速度均为1cm/s,若2只蚂蚁相撞,则蚂蚁同时调头。求解第T秒时这n只蚂蚁的状态。 若此时相撞 输出:Turning 若此时已经掉下木棍 输出:Fell...
阅读全文
摘要:UVALive.2995 Image Is Everything (思维题 三维坐标转换)题意分析这题实在是没思路,就照着打了一遍,把不理解的地方,写了注释。#include #include #include #include #define REP(i,n) for(int i...
阅读全文
摘要:UVALive.3708 Graveyard (思维题)题意分析这标题真悲伤,墓地。 在周长为1e4的圆周上等距分布着n个雕塑,现在要加入进来m个雕塑,最终还要使得这n+m个雕塑等距,那么原来的n个雕塑移动的最小距离是多少。W=W 依旧没思路,看了题解学习此种技巧。首先原先给出的n个...
阅读全文
摘要:UVALive.3708 Graveyard (思维题)题意分析这标题真悲伤,墓地。 在周长为1e4的圆周上等距分布着n个雕塑,现在要加入进来m个雕塑,最终还要使得这n+m个雕塑等距,那么原来的n个雕塑移动的最小距离是多少。W=W 依旧没思路,看了题解学习此种技巧。首先原先给出的n个...
阅读全文
摘要:UVA.11300 Spreading the Wealth (思维题)题意分析现给出n个人,每个人手中有a[i]个数的金币,每个人能给其左右相邻的人金币,现在要求你安排传递金币的方案,使得每个人手中的金币个数相等,并求出转移金币的最小个数。保证(Σa[i])/n为整数。第一眼没有思...
阅读全文
摘要:UVA.11292 Dragon of Loowater (贪心)题意分析题干很长,废话很多。 (实在不懂那个图片是干啥) 现在要你屠龙,有n个头直径为dra[i]的龙,有m个最多能杀掉头直径为kni[i]的骑士(1#include #include #include #define...
阅读全文
摘要:UVA.12096 The SetStack Computer ( 好题 栈 STL混合应用)题意分析绝对的好题。 先说做完此题的收获: 1.对数据结构又有了宏观的上的认识; 2.熟悉了常用STL(set,map,vector)的常用用法; 3.学习了一种问题转化的方式。 我想如果告...
阅读全文
摘要:HDOJ(HDU).1412 {A} + {B} (STL SET)点我挑战题目题意分析大水题,会了set直接用set即可。 利用的是set的互异性(同一元素有且仅有一项)。#include #include #include #include #include #define nm...
阅读全文
摘要:UVA.10474 Where is the Marble ( 排序 二分查找 )题意分析大水题一道。排序好找到第一个目标数字的位置,返回其下标即可。暴力可过,强行写了一发BS,发现错误百出。应了那句话:基础不牢,地动山摇。 记录一下自己BS的常见错误: 1.需要传入的参数是,搜...
阅读全文
摘要:HDOJ(HDU).1754 I Hate It (ST 单点替换 区间最大值)点我挑战题目题意分析从题目中可以看出是大数据的输入,和大量询问。基本操作有: 1.Q(i,j)代表求区间max(a[k]) k∈[i,j]; 2.U(i,j)代表a[i] = j; 对于询问U,用单点替...
阅读全文
摘要:HDOJ(HDU).1166 敌兵布阵 (ST 单点更新 区间求和)点我挑战题目题意分析根据数据范围和询问次数的规模,应该不难看出是个数据结构题目,题目比较裸。题中包括以下命令: 1.Add(i,j)表示 a[i]+=j; 2.Sub(i,j)表示 a[i]-=j; 3.Query(...
阅读全文
摘要:把每天所学的东西记录下来,算是对自己的一种监督吧。 更新按照时间降序排列。2017-8-14 心态爆炸 为什么心态爆炸呢,昨天写了一道裸树链剖分,debug3小时,wa 31发,最后发现居然是在点更新的时候没写pushdown。。。滚了个大粗。这告诉我们一个道理,有lazy标记的时候...
阅读全文
摘要:这是一篇老文章,不过由于无法找到最初的发文地址,这里就不能粘贴原文网址了。本站转载此文与ACMer们共勉。感谢acmerfight供稿。题解:还记得2年前的一个晚上,我和一个女孩一起写完了这篇文章。写完后,她哭了,我笑了。然后,她走了,我哭了。2年后,我又找到她,这次,我没有让她走掉...
阅读全文
摘要:动态规划总结(01背包 完全背包 多重背包)一、学习资料1.UVA DP 入门专题 2.夜深人静写算法(二) - 动态规划 3.算法之动态规划 4.什么是动态规划?动态规划的意义是什么? 5.01背包问题和完全背包问题 6.背包九讲二、练习题目1.01背包练习 2.完全背包 多重背包...
阅读全文
摘要:HDOJ(HDU).2844 Coins (DP 多重背包+二进制优化)题意分析先把每种硬币按照二进制拆分好,然后做01背包即可。需要注意的是本题只需要求解可以凑出几种金钱的价格,而不需要输出种数。因此用0表示不可以,1表示可以。最后对dp数组扫描一遍即可。代码总览#include ...
阅读全文
摘要:HDOJ(HDU).1059 Dividing(DP 多重背包+二进制优化)题意分析给出一系列的石头的数量,然后问石头能否被平分成为价值相等的2份。首先可以确定的是如果石头的价值总和为奇数的话,那么肯定不能被平分。若为偶数,则对valuesum/2为背包容量,全体石头为商品做完全背包...
阅读全文
摘要:HDOJ(HDU).2191. 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (DP 多重背包+二进制优化)题意分析首先C表示测试数据的组数,然后给出经费的金额和大米的种类。接着是每袋大米的价格,重量和袋数。 每种大米的数量是有限的,应该能看出是多重背包的问题。关键是多重背包的...
阅读全文
摘要:HDOJ(HDU).2159 FATE (DP 带个数限制的完全背包)题意分析与普通的完全背包大同小异,区别就在于多了一个个数限制,那么在普通的完全背包的基础上,增加一维,表示个数。同时for循环多写一层即可。#include #include #include #include #...
阅读全文
摘要:HDOJ(HDU).4508 湫湫系列故事――减肥记I (DP 完全背包)题意分析裸完全背包代码总览#include #include #include #include #define nmax 100005#define nn 105using namespace std;int...
阅读全文
摘要:HDOJ(HDU).1284 钱币兑换问题 (DP 完全背包)题意分析裸的完全背包问题代码总览#include #include #include #include #define nmax 33000#define ll long longusing namespace std;l...
阅读全文
摘要:HDOJ(HDU).1114 Piggy-Bank (DP 完全背包)题意分析裸的完全背包代码总览#include #include #include #include #define nmax 100000#define INF 0x3f3f3f3fusing namespace ...
阅读全文
摘要:HDOJ(HDU).3466 Dividing coins ( DP 01背包 无后效性的理解)题意分析要先排序,在做01背包,否则不满足无后效性,为什么呢? 等我理解了再补上。代码总览#include #include #include #include #define nmax ...
阅读全文
摘要:POJ.3624 Charm Bracelet(DP 01背包)题意分析裸01背包代码总览#include #include #include #include #define nmax 13000#define nnmax 3500using namespace std;int d...
阅读全文
摘要:HDOJ(HDU).1864 最大报销额题意分析题目有点问题,原题中说的单项物品的价值不得超过600元应该是单类物品的价值不能超过600元。一开始以为是01背包,后来按贪心写过了。一张一张发票处理,读入一整张发票的数据。然后检查一下里面是否有不能报销的类别(即除ABC)以外的其他类。...
阅读全文
摘要:HDOJ(HDU).2546 饭卡(DP 01背包)题意分析首先要对钱数小于5的时候特别处理,直接输出0。若钱数大于5,所有菜按价格排序,背包容量为钱数-5,对除去价格最贵的所有菜做01背包。因为这时候还剩下5块钱,直接买最贵的那个菜,就可以保证剩下来的钱数是最小的。代码总览#inc...
阅读全文
摘要:HDOJ(HDU).2602 Bone Collector (DP 01背包)题意分析01背包的裸题#include #include #include #include #define nmax 1005using namespace std;int v[nmax],w[nmax]...
阅读全文
摘要:UVA.357 Let Me Count The Ways (DP 完全背包)题意分析与UVA.UVA.674 Coin Change是一模一样的题。需要注意的是,此题的数据量较大,dp数组需要使用long long 类型;另外输出方案为1个和多个的时候,语句是不同的。代码总览/* ...
阅读全文
摘要:UVA.10192 Vacation (DP LCS)题意分析某人要指定旅游路线,父母分别给出了一系列城市的旅游顺序,求满足父母建议的最大的城市数量是多少。对于父母的建议分别作为2个子串,对其做LCS处理,最后的结果即为所求。核心状态转移方程: if(c1[i] == c2[j]) ...
阅读全文
摘要:UVA.10130 SuperSale (DP 01背包)题意分析现在有一家人去超市购物。每个人都有所能携带的重量上限。超市中的每个商品有其相应的价值和重量,并且有规定,每人每种商品最多购买一个。求这一家人所能购买到的最大价值是多少。每个人的所能携带的最大重量即为背包容量。此题只是换...
阅读全文
摘要:UVA.10066 The Twin Towers (DP LCS)题意分析有2座塔,分别由不同长度的石块组成。现在要求移走一些石块,使得这2座塔的高度相同,求高度最大是多少。问题的实质可以转化为LCS(最长公共子序列)问题。 推荐一篇写的比较好的博文: 动态规划求解最长公共子序列(...
阅读全文
摘要:UVA.562 Dividing coins (DP)题意分析给出一堆不同面额的硬币,要求将这这些硬币分为价值接近的2堆(越接近越好,相等的情况最佳,且单个硬币不可再分),并最后输出这2堆硬币价值差值的绝对值。先累加求出这堆硬币的总和sum,然后令sum/2为背包容量,所有硬币为商品...
阅读全文
摘要:UVA.674 Coin Change (DP)题意分析有5种硬币, 面值分别为1、5、10、25、50,现在给出金额,问可以用多少种方式组成该面值。每种硬币的数量是无限的。典型完全背包。 状态转移方程 dp[j+c[i]] = dp[j] + dp[j+c[i]]代码总览/* ...
阅读全文
摘要:HDOJ(HDU).2660 Accepted Necklace (DFS)点我挑战题目题意分析给出一些石头,这些石头都有自身的价值和重量。现在要求从这些石头中选K个石头,求出重量不超过W的这些石头的最大价值是多少?类似于之前讨论到的数字选不选的问题,此处面临的情况是石头选不选,若选...
阅读全文
摘要:HDOJ(HDU).1058 Humble Numbers (DP)点我挑战题目题意分析水代码总览/* Title:HDOJ.1058 Author:pengwill Date:2017-2-15*/#include #include #include #inclu...
阅读全文
摘要:HDOJ(HDU).1025 Constructing Roads In JGShining’s Kingdom (DP)点我挑战题目题目分析题目大意就是给出两两配对的poor city和rich city,求解最多能修几条不相交的路。此题可以转化为LIS问题。转化过程如下:数据中有...
阅读全文
摘要:HDOJ(HDU).1003 Max Sum (DP)点我挑战题目算法学习—–动态规划初探题意分析给出一段数字序列,求出最大连续子段和。典型的动态规划问题。用数组a表示存储的数字序列,sum表示当前子段和,maxsum表示最大子段和。不妨设想:当sum为负数的时候: 1.当下一个数字...
阅读全文
摘要:HDOJ(HDU).2266 How Many Equations Can You Find (DFS) [从零开始DFS(9)]点我挑战题目从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempt...
阅读全文
摘要:POJ.1416 Shredding Company [从零开始DFS(8)]点我挑战题目从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempter of the Bone [从零开始DFS(...
阅读全文
摘要:HDOJ(HDU).2044-2049 递推专题点我挑战题目HDU.2044题意分析先考虑递推关系:从1到第n个格子的时候由多少种走法? 如图,当n为下方格子的时候,由于只能向右走,所以有2中走法。当n为上方格子的时候,由于只能向右走,所以也有2种走法。 不妨用a[n]来表示第n...
阅读全文
摘要:HDOJ(HDU).1045 Fire Net [从零开始DFS(7)]点我挑战题目从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempter of the Bone [从零开始DFS(1)] ...
阅读全文
摘要:HDOJ(HDU).1258 Sum It Up (DFS) [从零开始DFS(6)]点我挑战题目从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempter of the Bone [从零开始D...
阅读全文
摘要:HDOJ(HDU).1241 Oil Deposits(DFS) [从零开始DFS(5)]点我挑战题目从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempter of the Bone [从零...
阅读全文
摘要:从我接触程序竞赛到现在应该有十多年了,单说ACM竞赛,从第一次非正式参赛到现在也差不多有7年多的样子。有太多的故事,想说的话,却一直没能有机会写下来。一方面是自己忙,一方面也是自己懒。所以很感谢能有人“逼”我来写点什么。想到会有很多人来读我写的文字,自己也觉得很开心。其实每个人的生活...
阅读全文
摘要:HDOJ(HDU).1035 Robot Motion [从零开始DFS(4)]点我挑战题目从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempter of the Bone [从零开始DFS(...
阅读全文
摘要:HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)]从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempter of the Bone [从零...
阅读全文
摘要:HDOJ(HDU).1015 Safecracker [从零开始DFS(2)]从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempter of the Bone [从零开始DFS(1)] —DF...
阅读全文
摘要:Tempter of the Bone [从零开始DFS(1)]从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempter of the Bone [从零开始DFS(1)] —DFS四向搜索/奇...
阅读全文
摘要:Lotto [从零开始DFS(0)]点我挑战题目从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] — DFS思想与框架/双重DFS HDOJ.1010 Tempter of the Bone [从零开始DFS(1)] —DFS四向搜索/奇偶剪枝 HDOJ...
阅读全文