2013-2014寒假50题
文章平均质量分 67
末树之墨
窗外梧桐訴寒意。手撫鍵盤,碼字聲憔悴。明月不諳敲題苦,斜光到曉穿朱戶。 秋去冬來南飛季。指針游移,觀算法獨醉。無數壯士飲淚去,我仍編譯似如故。
展开
-
【0-1背包】-POJ-3624-Charm Bracelet
题目链接:http://poj.org/problem?id=3624题目描述:有 n 个宝石,对于宝石 i 给出其重量w [ i ] ,价值 d [ i ] ,给出手镯能承载的最大质量 m ,问手镯最大价值?解题思路:最简单赤裸的 0-1 背包,但我想了两天才想明白!靠的是我代码里那个test函数。可见利用解析大神代码的方式来学习理解更有效!直接上图。对于数据:4 6原创 2014-02-05 23:23:53 · 790 阅读 · 0 评论 -
【几何+暴力】-CF-391D1-Supercollider
题目链接:http://codeforces.com/problemset/problem/391/D1题目描述:给出若干条平面上线段,找出最大的正“+”形边长多少?解题思路:不难,但是判断两直线相交要考虑全面。数据不大不多,暴力直接过了。AC代码:#include #include #include #include using namespace std;ty原创 2014-02-17 19:28:15 · 1020 阅读 · 0 评论 -
【简单题】-CF-390B-Inna, Dima and Song
题目链接:http://codeforces.com/problemset/problem/390/B题目描述:两个小盆友弹钢琴,a 数组中的值代表他们分别都能弹到的最高调。如果二者弹出的音调 v1、v2 加起来正好等于 b 数组对应标准音调的话就会增加 v1 * v2 点愉悦值,无法弹出正确音调则愉悦值减一,求愉悦值最大多少?解题思路:坑点有二,①:要用 long long!原创 2014-02-15 22:28:48 · 980 阅读 · 0 评论 -
【二分查找】-POJ-2002-Squares
题目链接:http://poj.org/problem?id=2002题目描述:给出平面上若干个点,问能最多构成几个不重复的正方形。解题思路:第一反应是标记数组直接搜,好吧,内存超限。然后想了BFS或者DFS,太没前途了。然后想了哈希,不失为一种方法,但是不会操作。好吧还是按照九野大神选题的初衷来做吧——二分查找,为了锻炼自己,嗯!手写!好吧,我写的只是二分找 x 坐标,y 坐标没二分原创 2014-02-15 22:09:16 · 858 阅读 · 0 评论 -
【并查集】-HDU-3172-Virtual Freinds
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3172点击打开链接题目描述:输入N个人的关系,输出你最新输入的两个人所在社交分组的人数(相互有朋友关系的视为一个组)。解题思路:另设一个RANK数组来存储对应集合的元素个数,在merge合并操作的同时将数组合并即得到答案。对字符串处理用MAP,不然会超时,我就T了N多遍,后来干脆去现学现原创 2014-01-26 16:52:48 · 674 阅读 · 0 评论 -
【并查集】-HDU1232-畅通工程
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232点击打开链接题目描述:再添加多少条连接能使所有不相交集合相交。解题思路:和那道化成多少堆的最水题一个道理,然后有N个集合的话,添加N-1条线就能把他们全连起来。AC代码:#include #include int arr[1050];int find(int x){原创 2014-01-23 23:44:45 · 682 阅读 · 0 评论 -
【模拟】【环形数组】-UVA-133- The Dole Queue
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=69题目描述:1~N个人站成圈,公务猿 A 从1 开始顺时针查过 k 个人,公务猿 B 从N开始逆时针查过 m 个人,他俩查出的这个出列(可以是重复的同一个人),把每次出列的人输出来,直到队列原创 2014-03-02 12:57:45 · 1001 阅读 · 0 评论 -
【BFS+状态压缩】-POJ-1753-Flip Game
题目链接:http://poj.org/problem?id=1753题目描述:4*4的棋盘上翻棋,翻动一个子其上下左右四子也会被翻过去,问对于给出的一个4*4布局,是否能全翻成白棋或黑棋,如果能输出步数解题思路:之前的例会上学长用这个给我们当了状态压缩的栗子,当然,当时一点不明白学长在表达什么,碰巧遇到这题,自己就做了一把。大概知道这样题换成二进制数储存状态,具体怎么对某个数原创 2014-02-23 15:54:53 · 985 阅读 · 0 评论 -
【二分查找】-HDU-1969-Pie
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1969题目描述:这位富二代过生日请小伙伴们吃pie,要求把pie平均分成(F+1)块(加上自己),每份必须是一整块,不能是若干块拼起来的。问一份最大体积是多少。解题思路:虽说这题很水,但第二次做二分。。没什么经验,还是琢磨了一阵,,然后就是通过不断判定 left right 变量是否成立原创 2014-02-19 15:58:33 · 883 阅读 · 0 评论 -
【简单题】-CF-387B-George and Round
题目链接:http://codeforces.com/problemset/problem/387/B点击打开链接题目描述:第一排是乔治想得到的数字,第二排是乔治已经拥有的数字,乔治已经有的数字可以变小来得到他想要的数,问至少要往已经拥有数列中添加几个数能得到乔治所有想要的数字?解题思路:难点是英语啊!英语。题本身,两个数组各自sort一下,然后设一个 i 变量和一个 j 变量,原创 2014-02-01 15:21:08 · 1027 阅读 · 2 评论 -
【最小生成树】+【并查集】-HDU-1879-继续畅通工程
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1879点击打开链接题目描述:在畅通工程第二期的基础上增加了“有的路已经建好了这一点”。解题思路:和这个逗比工程第二期区别不大,加几个小点进去就行了。简单。贴代码AC代码:#include #include #include #include using namespace st原创 2014-01-28 00:04:03 · 1186 阅读 · 0 评论 -
【并查集】-HDU1272-小希的迷宫
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272点击打开链接题目描述:设计一个迷宫,迷宫应满足这样的要求:从任意一点出发到达任意另一点的有且仅有一条。判断输入的迷宫是否符合要求。解题思路:并查集查找,解题办法就是在合并函数里判断一下,如果这个点已经被归入集合了,现在又要让它重新归入自己一遍的话就说明我们走重复了,从这点出发有原创 2014-01-24 16:57:29 · 717 阅读 · 0 评论 -
【Dijkstra】-POJ-1847-Tram
题目链接:http://poj.org/problem?id=1847题目描述:给出起点终点,各路径的花费,问点A到点B的最短路。解题思路:最短路裸题,当模板吧AC代码:#include #include #define MAX 999999using namespace std;int cost[120][120],dis[120],vis[120];int原创 2014-03-08 17:48:35 · 880 阅读 · 0 评论 -
【递推】【DP】-HDU-1995-汉诺塔⑤
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1995题目描述:计算汉诺塔中某个盘子的移动次数解题思路:想了好久,突然顿悟!思路如下,所谓递推,即是前者与后者存在直接联系,由前者可以直接推出后者,因此必须有一端是已知的,这题里显然最下面的盘子只被动了一次,这就是开端,然后我们考虑紧挨着的两张盘子的递推关系,发现上面盘子是紧挨着的下面盘原创 2014-02-17 02:01:15 · 793 阅读 · 0 评论 -
【最小生成树】+【并查集】-HDU-1233-还是畅通工程
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233点击打开链接题目描述:还是最小生成树的问题,输出能让村村相通的最小修路总长度。解题思路:和那个卡车编号几乎一样,kruscal算法解决。因为有了经验,这次1A了。AC代码:#include #include #include #include using name原创 2014-01-27 16:12:26 · 1025 阅读 · 0 评论 -
【几何】-CF-392A-Blocked points
题目链接:http://codeforces.com/problemset/problem/392/A题目描述:求在一个坐标系中半径为N的圆中,距圆外某一整数点的距离为 1 的不重复的点有几个解题思路:看错题WA了几遍,实在不知道自己的算法错在哪(错在理解错题意,做法是对的),就去看了下别人AC的代码才明白这题不是找最靠圆边的点有几个,而是去找题目描述说的那样的点有几个。我们先原创 2014-02-23 07:53:22 · 1032 阅读 · 0 评论 -
【DFS+剪枝】-HDU-1518-Squares
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1518题目描述:给出若干个破木头条子。问你它们能否拼成一个正方形。解题思路:一道DFS题,DFS是我软肋啊。不过经过这道题,算是找到一种固定模式了,以后遇到DFS题就不会不知♂所措。解释一下我DFS函数中的变量 len 和 dep,分别表示手里拿的木棍总长,每当达到一个边长就放下这些木棍原创 2014-02-18 18:28:41 · 768 阅读 · 0 评论 -
[DP动归]-UVA-111-历史考试
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=47题目描述:给出历史排序题的标准答案,和学生的回答,输出学生与标准答案的最长重合子串作为成绩(可以不连续)。解题思路:一道经过精心伪装的找最长上升子串的题,题目的意思非常绕,一开始我原创 2014-02-14 17:50:51 · 768 阅读 · 0 评论 -
【Dijkstra】-HDU-2544-最短路
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544题目描述:给出若干条路径的信息。每条信息包括起点、终点、距离(花费)。问从点 1 到点 N 最少花费多少?解题思路:最裸的最短路问题,有数种做法,新手入门,选择学习一下dijkstra算法,自己看懂了算法之后动手尝试过,queue什么的都用上了,各种WA,其实是该算法原理没理解透。原创 2014-02-25 20:11:25 · 1078 阅读 · 0 评论 -
【Dijkstra】-HDU-1548-A strange lift
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548题目描述:有一个电梯,上面只有UP 和DOWN 两种按钮,每层楼梯有一个值,按下UP按钮就会上升这么多层,按下DOWN按钮就会下降这么多层。问对于给定的从A层到B层,至少需要按几次按钮?解题思路:还是基础的Dijkstra求最短路,注意判断边界条件,每条路径的花费都是1。AC代原创 2014-03-08 17:44:46 · 880 阅读 · 0 评论 -
【并查集】-HDU1213-赤裸并查最水
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213点击打开链接题目描述:把互相认识的朋友划为一堆,赤裸的并查集教学题。解题思路:设立一个数组arr。先让arr【i】= i然后定义两种操作——也就是并查集的“并”和“查”。= =。。果然还是先说一下我费尽心思弄出来的对并查集的基本理解。i1234原创 2014-01-23 14:51:22 · 895 阅读 · 0 评论 -
【简单题】【数学】-CF-397B-On Corruption and Numbers
题目链接:http://codeforces.com/problemset/problem/397/B题目描述:你拥有面值l 到 r 的硬币,每种面值都有无数个,比如3 到 6 就是说你有面值为 3 4 5 6 的硬币,每种有无数个,现在问能否用这些硬币恰好凑出正整数 N ?解题思路:一道非常。。活泼有趣的数学题,看着很简单,竟然一直WA!!伤心死了,第二天终于想到了正确的姿势。原创 2014-02-27 18:04:16 · 797 阅读 · 0 评论 -
【BFS】-POJ-2386-Lake Counting
题目链接:http://poj.org/problem?id=2386题目描述:八个格内关联的W算一个湖,问地图中有几个湖?解题思路:简单的BFS,做过类似的题,回来复习一下,有些手生,不过还是1A了。AC代码:#include #include #include #include using namespace std;typedef struct node原创 2014-02-23 09:51:24 · 1028 阅读 · 0 评论 -
【递推】【DP】-HDU-1207-汉诺塔②
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1207题目描述:四柱汉诺塔解题思路:开始想了方程 f [ n ] = 2 * f [n - 2] + 3和 f [ n ] = 2 * f [n - 3] + 7。结果都不对,很郁闷,纠结半天之后,上网查攻略去了,啊!我就差一点了,但也是差了最为关键的一步! 正确的方程应该是: f [ n原创 2014-02-17 00:37:11 · 865 阅读 · 0 评论 -
【完全背包】-HDU-2159-FATE
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159题目描述:还是背包,和 0-1 背包差不多,给出物品重量、价值,背包容量,求最大价值和,不同的是这次每种物品有无限个,这就叫完全背包。解题思路:一开始没什么思路,本来想把一种物品拆成 m / w[ i ] 个相同物品来看,但觉得太麻烦而且又有可能超时,没去尝试,又去看了背包九讲,,原创 2014-02-15 00:32:19 · 687 阅读 · 0 评论 -
【简单题】-POJ-1573-Robot Motion
题目链接:http://poj.org/problem?id=1573点击打开链接题目描述:机器人按照迷宫所指方向走路,输出能几步走出,或者几步之后陷入死循环。解题思路:假期刷题指南上说这道题是“同余”,额,,还不知道同余是啥意思的我决定挑战一下,发现这是道水题而已。。(弄个标记数组不就过了吗!喂!)但是水题不会真的让你一下子水过,有坑的水题才是好水题!。这题的坑我就妥妥的掉了进去,半原创 2014-01-28 17:06:35 · 1228 阅读 · 0 评论 -
【最小生成树】+【并查集】-POJ-1789-Truck History
题目链接:http://poj.org/problem?id=1789点击打开链接题目描述:输入N种车型(用一个七位字符串表示),输出这N种车的区别(相同对应位置上的不同字母数)最小和,(∩_∩)。。题目很奇怪。解题思路:题目考点是最小生成树,但显然难点在于英语。坑了半天之后还是求助谷歌娘去了(果然我大谷娘精通多国文字o(≧v≦)o~~),好吧,我们说最小生成树的事,这是第一次写最原创 2014-01-27 12:31:48 · 923 阅读 · 0 评论 -
【并查集】-HDU-4496-D-City
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4496题目描述:问毁坏K条边后还有几堆?解题思路:还是并查集,反过来做就行了,坑的是这题竟然是EOF输入,它又没说!然后我还是WA了几下,因为不能每次都遍历查有多少堆,那样会超时,像改完的代码里那样用个Num计数就行了。这种计数方式应该记着点,可能挺有用的、AC代码:#inc原创 2014-02-25 10:38:14 · 870 阅读 · 0 评论 -
【递推】【DP】-HDU-2175-汉诺塔⑨
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2175题目描述:输出汉诺塔问题中第m移动的盘子编号解题思路:没想到这系列竟然一共十道题,好吧~这一定是最⑨的一道。但是想了一阵,解法就是。。写一个4个盘子的出来我们的移动依次是:1 2 1 3 1 2 1 4 1 2 1 3 1 2 1你看多有规律。。不难发现隐藏着某种“规律原创 2014-02-18 00:50:05 · 974 阅读 · 0 评论 -
【高精度】-DLUTOJ-1176-大数乘法
题目链接:http://acm.dlut.edu.cn/problem.php?id=1176题目描述:赤裸的大数乘法解题思路:突然想到自己没写过高精度乘法,就回咱们自己OJ上找出了这道题,赤裸的高精度乘法而已,没想到依然觉得不好写,准确说来是我从小到大算乘法的习惯使我产生了错觉:“ 想写大数乘法就得先写一个大数加法出来 ”。喂!我短路了半天才想明白,int 数组里可以存个两位数啊,再原创 2014-02-15 13:48:43 · 880 阅读 · 0 评论 -
【种类并查集】-POJ-2492-A bug's life
题目链接:http://poj.org/problem?id=2492题目描述:有种虫子只有雌雄两种性别,给出若干条虫子之间的交配记录。看其中是否有奇怪的事情发生、、、、= =解题思路:第一次做这种题,不太会做。参考了http://blog.csdn.net/freezhanacmore/article/details/8799495这位的博客。用并查集解决, r 数组中存 0 代表与父节原创 2014-02-03 17:25:55 · 1244 阅读 · 2 评论 -
【暴力搜索】-HDU-4282-a very hard mathematic problem
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4282题目描述:去你妹啊。。真是一个非常难的数学问题已知 K。(0 求方程 X^Z + Y^Z + XYZ = K (X 1) 有几组解。解题思路:九野说这个是二分,以我的能力真的挺不好写的,后来想想,2^16才几万,Z又肯定是31以内,似乎暴力就行,但是写出来的一直TL原创 2014-02-19 22:40:30 · 916 阅读 · 0 评论 -
【递推】【DP】-HDU-2064-汉诺塔③
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2064题目描述:从最左边移到最右边柱子的过程中必须经过中间柱子。解题思路:进ACM组时候的考试题,当时虐我的题终于被我虐回来了。。一眼看出方程,1A了。。。呵呵。。满足一下我的虚荣心,,,抚慰一下受挫的心灵吧。AC代码:#include using namespace std;原创 2014-02-17 22:27:23 · 875 阅读 · 0 评论 -
【递推】【DP】-HDU-1996-汉诺塔⑥
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1996题目描述:问三个柱子上放N个盘子,一共可能有多少种组合?(可以有柱子不放,放的时候依然满足下面盘子比上面盘子大)解题思路:对于放N个盘子,ans [ N ] = 3 + 6 * f ( N ) +6 * g ( N )这三项依次代表这N个盘子分成一堆,两堆,三堆时有多少种可能。排列原创 2014-02-17 22:04:20 · 841 阅读 · 0 评论 -
【简单题】-CF-391B-word folding
题目链接:http://codeforces.com/problemset/problem/391/B题目描述:= =。。我英语真是渣爆了。字符串折叠的意思就是、、折叠起来。然后要求折叠完之后,这个“字符块”必须一竖排是一样字母,我就是没看懂这里的英文描述,想偏了许多,各种悲催。解题思路:看懂题意之后就不难了。二十六个字母遍历一遍,配合小标记变量 record 很容易完成。AC原创 2014-02-17 14:52:59 · 841 阅读 · 0 评论 -
【BFS】-PDSU-1112-最少操作数
题目链接:http://acm.pdsu.edu.cn/problem.php?id=1112题目描述:给任意一个正整数,它可以按照一定的运算规则, 计算出得到1的最少操作次数。该运算规则是: 如果n为偶数,将其除以2; 如果n为奇数,可以加1或减1; 然后一直处理下去,直到原创 2014-02-26 23:10:10 · 1310 阅读 · 1 评论 -
【素数】-HDU-2521-反素数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2521题目描述:求区间内因数最多的数是哪个?解题思路:九野大神划到素数这类题里的,我看过的人是 4 / 8 就去做了一下。。晕。看起来好水,没想到真的很水。。1A 了。AC代码:#include #include #include #include using namesp原创 2014-02-15 22:59:41 · 729 阅读 · 0 评论 -
【0-1背包】-HDU-2546-饭卡
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546题目描述:电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知原创 2014-02-14 14:37:31 · 793 阅读 · 0 评论 -
【贪心+简单题】-CF-388A-A fox and box accumulation
题目链接:http://codeforces.com/problemset/problem/388/A题目描述:每个箱子都有一个为非负整数的强度系数——意味着这个箱子上面最多还能叠放几个箱子。先给出若干个箱子和它们对应的强度系数,问至少可以堆成几摞。解题思路:一开始以为是什么高大上的背包问题,想想就没思路不敢做了。后来才发现是道水题,不过还是要动下脑子的。(其实有点贪心的意思)——原创 2014-02-05 15:17:02 · 894 阅读 · 0 评论