GRADE:B
文章平均质量分 69
JeraKrs
本人目前就职于百度商业研发部,有需要内推的朋友简历可发我邮箱 [email protected]
展开
-
hud 1811 Rank of Tetris(拓扑排序+并查集+STL)
值得一做的题目,新手入门,求带!网上有0ms的,求解释?原创 2013-08-03 00:57:18 · 2026 阅读 · 0 评论 -
uva 408 Uniform Generator
数论题目很有趣原创 2013-07-26 19:28:19 · 1754 阅读 · 0 评论 -
uva 10160 Servicing Stations(DFS+剪枝)
Servicing stationsA company offers personal computers for sale in N towns (3 <= N <= 35). The towns are denoted by 1, 2, ..., N. There are direct routes connecting M pairs from among these tow原创 2013-08-05 21:10:17 · 1999 阅读 · 0 评论 -
uva 592 Island of Logic (搜索)
Island of Logic The Island of Logic has three kinds of inhabitants: divine beings that always tell the truth, evil beings that always lie, and human beings that are truthful during the原创 2013-08-05 00:33:41 · 1765 阅读 · 0 评论 -
uva 197 Cube(空间几何+回溯)
Cube There was once a 3 by 3 by 3 cube built of 27 smaller cubes. It has fallen apart into seven pieces:Figure 1: The seven pieces that once formed a cube原创 2013-08-11 10:00:45 · 1829 阅读 · 0 评论 -
uva 565 Pizza Anyone?(二进制+搜索)
Pizza Anyone? You are responsible for ordering a large pizza for you and your friends. Each of them has told you what he wants on a pizza and what he does not; of course they all under原创 2013-08-06 19:47:52 · 1299 阅读 · 0 评论 -
uva 10706 Number Sequence(数学规律)
题目连接:10706 - Number Sequence题目大意:有一个有0 ~ 9组成的序列,1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 。。。。就是第一位为1. 第二为为1 ,第三为为2, 然后10 的部分注意下, 为1 和0 两个, 100 就是1 , 0和0 三位,以此类推, 要求给出tmp, 输出序列中的tmp位为什么数字。解题原创 2013-08-25 16:07:40 · 1089 阅读 · 0 评论 -
uva 704 Colour Hash(隐式图搜索+ 模拟)
Colour Hash This puzzle consists of two wheels. Both wheels can rotate both clock and counter-clockwise. They contain 21 coloured pieces, 10 of which are rounded triangles and 11 of wh原创 2013-08-17 11:41:09 · 1404 阅读 · 0 评论 -
uva 10051 Tower of Cubes(DAG最长路)
题目连接:10051 - Tower of Cubes题目大意:有n个正方体,从序号1~n, 对应的每个立方体的6个面分别有它的颜色(用数字给出),现在想要将立方体堆成塔,并且上面的立方体的序号要小于下面立方体的序号,相邻的面颜色必须相同。输出最高值和路径。解题思路:因为立方体可以旋转,所以一个序号的立方体对应这6种不同的摆放方式,可以将问题理解成DAG最长路问题, 只是搜原创 2013-09-09 23:45:19 · 1191 阅读 · 0 评论 -
uva 10404 Bachet's Game(完全背包)
题目连接:10404 - Bachet's Game题目大意:由一堆石子, 给出石子的总数, 接下来由stan和ollie两个人玩游戏,给出n, 在给出n种取石子的方法(即为每次可取走石子的数量),由stan先,两人轮流取走石子,最后一个将石子全部去完的人胜利,问, 给出的一堆石子, 两人均按最好的方案游戏, 最后将会是谁胜 ?解题思路:问题可以看做是一个完全背包的变形原创 2013-09-11 00:06:44 · 4731 阅读 · 0 评论 -
uva 10313 Pay the Price(完全背包)
题目连接:10313 - Pay the Price题目大意:有0~300这300种价值的金额。 现在可能给出参数:1个:n, 输出可以组成价值n的方式的个数。2个:n, a输出用价值小于a的价值组成价值n的方式的个数。3个:n, a, b输出用价值大于a和小于b组成价值n的方式的个数。解题思路:完全背包的问题, 状态转移方程dp[i][j] = dp[i原创 2013-09-13 14:01:52 · 1522 阅读 · 0 评论 -
uva 709 - Formatting Text(记忆化搜索)
题目连接:709 - Formatting Text题目大意:给n,然后在给出一篇文章,有若干个单词,以空行结束,现在要将文章排序使得文章的badness 越小。badness 的计算方法,如果一行只有一个单词的话,若单词的长度小于n,则badness 增加500,否则为0。若一行有多个单词,每两个单词之间的badness = (c - 1) ^ 2 (c为两个单词的空格数原创 2013-10-01 22:16:46 · 1945 阅读 · 0 评论 -
uva 10558 - A Brief Gerrymander(记忆化搜索)
题目链接:10558 - A Brief Gerrymander题目大意:在一个100 * 100的网格中, 给出n个坐标,坐标的含义为以该坐标为左下角的格子为neighborhood,对应给出坐标的顺序是street,后给的avenue(类似于x、y),然后给出k条切线将网格切成k -1块区域(avenue)头尾一定是1和100,然后在给出cut数,表是在street方向上可以切原创 2013-10-02 00:43:38 · 2755 阅读 · 0 评论 -
uva 10280 - Old Wine Into New Bottles(完全背包)
题目链接:10280 - Old Wine Into New Bottles题目大意:现在有L升酒,以及n种酒瓶,现在给出每种酒瓶的最小容量和最大容量,每种酒瓶可以使用无限多次,问,怎样装酒,可以使得剩下的酒(即未能装进酒瓶中的酒)最少,输出最小值。解题思路:刚开始直接背包,结果超时了,看了别人题解才知道要剪很大的枝,这里推荐一篇题解写的很仔细。http://blog.原创 2013-09-25 08:59:20 · 2122 阅读 · 0 评论 -
uva 11081 - Strings(LCS)
题目链接:11081 - Strings题目大意:给出三个字符串,从分别从第一个字符串和第二个字符串中挑选子串a,b,用a和b组成第三个字符串的子串c,问可组成的子串有多少种。#include #include const int N = 70;const int tmp = 10007;int dp[N][N][N], dp1[N][N][N], dp2[N原创 2013-09-25 23:58:17 · 1864 阅读 · 0 评论 -
uva 11121 - Base -2(负进制转换)
题目连接:uva 11121 - Base -2题目大意:给出一个十进制的数,将这个数转换成-2进制的数。解题思路:进制转化是一种很简单的题型,可是对于负数的进制来说我就很陌生了,研究了蛮久的,这里分享一下。首先要了解如何将一个-2进制的数转换成十进制数,历7对应的-2进制数即为11011;1 * (-2) ^ 4 + 1 * (-2) ^ 3 + 0 *原创 2013-10-22 23:37:15 · 1547 阅读 · 2 评论 -
uva 10759 - Dice Throwing(dp)
题目链接:uva 10759 - Dice Throwing题目大意:给出n和x,计算在丢n个色子,出现的点数大于等于x的概率,要求分式最简。解题思路:一开始方向想错了,一直在枚举num[i][j], i表示i个色子丢出的点数小于x的情况,一直找不到状态转移方程,推出来几个都是错的,算了一下午;后来发现num[i][j] 与num[i][j + 1]中间的增长个数与用i个色原创 2013-10-23 17:32:14 · 1296 阅读 · 0 评论 -
uva 10940 - Throwing cards away II
题目链接:uva 10940 - Throwing cards away题目大意:给出n,表示有n张牌,按照1~n的顺序排列,每次取出顶部的两张牌,第一张丢掉,第二张放到牌堆的最底部,问最后剩下的那张牌是多少。解题思路:可能我的思路有点难理解,我不是通过打表找规律去推公式, 而是模拟了人的思维去处理这个牌的问题,首先第一次为n张牌,第一遍丢牌肯定是奇数牌,所以可以将所有的偶原创 2013-10-30 15:11:03 · 1405 阅读 · 0 评论 -
uva 763 - Fibinary Numbers(斐波那契数)
题目链接:uva 763 - Fibinary Numbers题目大意:给出两个二进制数,表示两个斐波那契数进制数,将两个数值相加,以斐波那契二进制的形式输出。斐波那契数列 1、2、3、5、8......,那对应的二进制1010就是 1 * 5 + 3 * 0 + 2 * 1 + 1 * 0 = 7,注意,输出的斐波那契二进制中不能有连续的两个1。解题思路:先计算出100个原创 2013-11-02 16:17:58 · 1437 阅读 · 0 评论 -
hdu 4455 Substrings(计数)
题目链接:hdu 4455 Substrings题目大意:给出n,然后是n个数a[1] ~ a[n], 然后是q次询问,每次询问给出w, 将数列a[i]分成若干个连续且元素数量为w的集合,计算每个集合中出现的数字种类,输出总和。解题思路:一开始想到遍历的算法,保持集合元素为w,每次剔除最前一个,加入一个,移动集合,维护数字种类,这种算法的复杂度为o(n^2), 但是超时了,原创 2013-11-01 17:21:17 · 1095 阅读 · 0 评论 -
uva 10519 - !! Really Strange !!(规律)
题目链接:uva 10519 - !! Really Strange !!题目大意:给出n,问用n个圆最多能将平面分割成几份。解题思路:公式c[i] = i * i - i + 2,首先可以分析出c[i] = c[i - 1] + 2 * i - 2, 然后带入c[i - 1] = c[i - 2] + 2 * (i - 1) - 2,重复带入可得c[i] = c[1]原创 2013-11-02 17:26:56 · 1291 阅读 · 0 评论 -
uva 10236 - The Fibonacci Primes
题目连接:uva 10236 - The Fibonacci Primes题目大意:在给出n,输出第n个为素数的斐波那契数,取数值的前9位数。解题思路:原本想用打表的方式遍历斐波那契数,然后存在数组了,但是这样判断素数的函数就比较难写,要写成大数,后来看到一条定律,f[n],如果n为素数,那么f[n]也为素数,所以只要照出素数然后访问斐波那契数列的下标就可以了。原创 2013-11-03 19:44:32 · 1491 阅读 · 0 评论 -
uva 10328 - Coin Toss(计数问题)
题目链接:uva 10328 - Coin Toss题目大意:给出n,表示有投掷n次硬币,硬币有分正反面,玩游戏的人比较迷信,如果他选择正面获胜的话,第二次他还是会选正面(不知道这句话要说什么,应该是背景),然后给出k,问说出现连续正面的此处大于 等于k的情况有多少种,比如说:3 2,投掷3次或有8中情况,满足说有两个以上连续的'H'(正面)的情况只有“HHH”, “HHT”, “TH原创 2013-11-04 19:01:15 · 4669 阅读 · 1 评论 -
uva 10247 - Complete Tree Labeling(dp)
题目链接:uva 10247 - Complete Tree Labeling题目大意:给出k和d,表示有一个k叉d层的完全k叉数,然后它的节点数为n个,用1~n给这棵树德节点标号,要求说任意一个节点的值不能大于它的任意一个子节点,每个数只能用一次。问优多少种标记的方法。解题思路:一般dp都是有dp[i - 1]推导出dp[i]的,这题也不例外,只不过思路和往常不太一样。节原创 2013-11-17 00:21:49 · 3295 阅读 · 0 评论 -
uva 10912 - Simple Minded Hashing(计数)
题目链接:uva 10912 - Simple Minded Hashing题目大意:给出l和s,表示说用l个字母,组成一个字符串,字符串的权值和要刚好等于s,并且字母要升序排列,不可以重复使用,问有多少种组成。解题思路:简单dp,三维数组dp[i][j][k]表示说i个字符,最后一个字符为j(即为最大字符为j),quan原创 2013-11-05 21:15:04 · 2086 阅读 · 0 评论 -
uva 10616 - Divisible Group Sums(计数)
题目链接:uva 10616 - Divisible Group Sums题目大意:给出n和q,表示有n个数字,q次询问,然后给出n个数字,q次询问,每次询问有两个数值,D和N,计算出n个数字中选出N个数字的和能整除D的方案有多少种。解题思路:因为(a + b)% D = (a%D+b%D)%D,所以可以将所有的数字全先模掉D,这样计算量会比较少,然后利用dp中背包的思想,原创 2013-11-05 21:21:23 · 2057 阅读 · 0 评论 -
uva 10157 - Expressions(dp)
题目链接:uva 10157 - Expressions题目大意:给出n和d,表示说有n/2对括号,要求组成深度为d的表达式,问有多少种。解题思路:一开始想说,每增加一对括号无非是加在最前面和最后面,要不一前一后,然后就有了dp[i][j] = dp[i - 1][j] * 2 + dp[i - 1][j - 1].结果WA了。反思一下,考虑的不周全,以为括号放中间也是可以原创 2013-11-06 17:03:30 · 1527 阅读 · 0 评论 -
uva 563 - Crimewave(网络流最大流)
题目链接:uva 563 - Crimewave题目大意:在一个r*c的城市中,有n个银行,有一个抢匪想抢劫这n家银行,每次抢劫后需逃离城市(移动到坐标外),但是又不能走先前走过的位置,给出n个银行的坐标,问说抢匪能非成功抢劫银行并且逃脱。解题思路:很经典的逃脱问题,要不是因为在刷网络流的专题根本想不到要用网络流去做。首先先讲每个点与它周围的4个点建立一条边,表示可以移原创 2013-11-22 14:48:13 · 1625 阅读 · 0 评论 -
uva 10746 - Crime Wave - The Sequel(费用流)
题目链接:uva 10746 - Crime Wave - The Sequel题目大意:自从银行被抢之后,警局为每个银行都安排了一个警察,现在有n个银行和m警察,给出每个警察到达各个银行的时间,问说怎么样安排人手,可以使的警察到达银行的平均时间最小。解题思路:网络流的最小费用最大流,起点s与m个警察相连,容量为1,费用为0;n个银行与汇点t相连,容量为1,费用为0;然后就原创 2013-11-22 20:55:12 · 1993 阅读 · 0 评论 -
uva 10806 - Dijkstra, Dijkstra.(费用流)
题目链接:uva 10806 - Dijkstra, Dijkstra.题目大意:给出一个无向图,求出从1走到n,再从n走回1得最短路径,每条边只能走一次。解题思路:无向图的费用流,建立起点s指向1,容量为2,费用为0,建立汇点n + 1,n指向汇点,容量为2,费用为0.然后对于每无向边,差分成两条有向边。然后就是费用流问题,若最大流为2,输出最小费用,否则无法到达。原创 2013-11-23 16:14:38 · 1802 阅读 · 0 评论 -
uva 10023 - Square root(手动开方)
题目链接:uva 10023 - Square root题目大意:给出一个出,然后你求他的开方,这个数最大为10^1000。解题思路:手动开方的算法很容易就在网上找到了,但是10^1000次方明显的用到高精度,而开方的算法又用到加减乘除。。。所以就是坑,写了一整天,就当是复习大数好了。开方算法#include #include #原创 2013-11-09 20:47:46 · 1865 阅读 · 0 评论 -
uva 10269 - Adventure of Super Mario(Floyd + Dijkstra + dp)
题目链接:uva 10269 - Adventure of Super Mario题目大意:马里奥就出桃子之后,要返回自己所居住的村子标号为1,给出A 和 B表示有A个村子和B个城堡,大魔王所居住的城堡A + B,1 ~A为村子,A + 1 ~ B为城堡。现在有m条路,连接着村子、城堡;每条路有它的距离;然后马里奥可以使用k次魔法,可以从一个地方瞬间移动到另外一个地方(不可以在路中间停原创 2013-11-24 16:15:00 · 1777 阅读 · 0 评论 -
uva 658 - It's not a Bug, it's a Feature!(优先队列Dijkstra)
题目链接:uva 658 - It's not a Bug, it's a Feature!题目大意:有一个软件,有n个bug, 然后现在有m个补丁,然后m行,分别给出补丁需要的时间,以及原始状态和修复后的状态。对于原始状态,‘-’代表不能有这个bug,‘+’代表必须有这个bug,‘0’表示可有可无;对于修复后的状态,‘-’代表可以修复这个bug,‘+”代表会新增这个bug,’原创 2013-11-24 20:48:51 · 1446 阅读 · 0 评论 -
uva 10985 - Rings'n'Ropes( 最短路Folyd)
题目连接:uva 10985 - Rings'n'Ropes题目大意:给出n和m,表示有n个戒指和m条绳子,每条绳子的长度为1,给出每根绳子连接的戒指,然在左右手各握住一个戒指,拉直,问说最多有多少个绳子被绷直。解题思路:首先先用Floyd算法将每两个戒指之间的最短距离求出(因为向两端扯的时候,最大距离便是连接两个戒指的最短距离),然后枚举两枚戒指,找出中间所有的点(f[x原创 2013-11-26 20:37:37 · 1435 阅读 · 0 评论 -
uva 515 - King(差分约时系统)
题目链接:uva 515 - King实在不懂什么是差时约分系统,不过大概了解是说建完图之后不能存在负环(既要最短路),如果存在负环的话,两个sum之间就不存在一个稳定的关系。参考题解。#include #include #include #include using namespace std;const int N = 105;const int INF原创 2013-11-26 20:51:48 · 1407 阅读 · 0 评论 -
fzu 1912 Divisibility by Thirty-six(数论+枚举)
题目链接:fzu 1912 Divisibility by Thirty-six题目大意:给出一串数字,从中任选n个数字组成一个n位数可以被36整除。(0也算符合条件)解题思路:首先36可以拆分成9*4,然后根据列举9的倍数可以发现,凡是可以整除9的数,各个位上数字之和一定是9的倍数。这样就可以反向推到,只要剔除若干个数字,使得原有序列数值之和保证为9的倍数既可以满足说可以原创 2013-12-06 15:36:17 · 1476 阅读 · 0 评论 -
fzu 2037 Maximum Value Problem(递推)
题目链接:fzu 2037 Maximum Value Problem题目大意:给出n,然后有一个长度为n的序列,元素由1~n组成,现在有一个Max = 0,问说计算所有排列可能的序列需要更新多少次Max。列如:但n = 2的时候,存在序列s1 = { 1, 2}, 和序列s2 = {2, 1}, f1 = 2, f2 = 1, 所以ans = 3。并且要输出p[i] = f[i] /原创 2013-12-11 20:09:08 · 1022 阅读 · 0 评论 -
uva 1374 - Power Calculus(迭代深搜)
题目链接:uva 1374 - Power Calculus题目大意:给出n,问说至少计算几步得到x^n。解题思路:迭代深搜,枚举步数,然后深搜判断是否可行。需要优化,当当前数s按照最大方案执行后仍然小于n,则说明不可行。#include #include #include const int N = 3005;int aid, tmp, v[N],原创 2013-12-28 21:17:02 · 2110 阅读 · 1 评论 -
fzu 2103 Bin & Jing in wonderland(组合数学)
题目连接:fzu 2103 Bin & Jing in wonderland题目大意:给出n,k和r,表示有n种礼物,可以抽取k次礼物,要挑选r个礼物送人。然后给出n种礼物被抽中的概率,以及想要送得礼物序号。注意,抽取礼物之后只能按照礼物的标号从大到小排序后选后r个送人。例如,想要送1,1,2这样的情况,可以抽取4次。那么就只有抽取3个1和1个2的情况才可以,否则抽取两个2的话排序后即原创 2013-12-14 23:49:53 · 1633 阅读 · 0 评论 -
uva 11627 - Slalom(贪心+二分)
题目链接:uva 11627 - Slalom原创 2013-12-17 23:55:32 · 1922 阅读 · 0 评论