
OJ分类 / UvaOJ
文章平均质量分 73
泳裤王子
这个作者很懒,什么都没留下…
展开
-
UVA 10131 - Is Bigger Smarter
<br />题目大意: 给出一些大象,包含它的重量、智商。要你找出最长的序列,满足重量越大、智商越低。(严格增减)<br />题目类型:dp / LIS<br />题目分析:<br />把大象按重量升序排序,然后在此序列中对智商属性找最长单减子序列。要注意的是,题目要求的都是严格增减,所以要在判断条件里考虑相等的情况以排除(主要是重量)。<br />另外还要注意,排序后,序就不是原来的序了,而题目要求输出原序。所以在排序时维护一个r[]数组。<br />对于 最长单减子序列 的dp,状态转移方程(2种):<原创 2011-05-13 16:42:00 · 858 阅读 · 0 评论 -
UvaOJ 10010 - Where's Waldorf?
题目简单的八方向搜索,暴力即可代码:#include#include#include#includeusing namespace std;#define bug(s) cout<<#s<<"="<<s#define stop {getchar();getchar();}#define MAXN 52#define MAXK 22char a[MAXN][原创 2012-04-09 17:18:07 · 790 阅读 · 0 评论 -
UvaOJ 10361 - Automatic Poetry
题目简单字符串处理代码:#include#includeusing namespace std;#define MAXN 102string a1, a2;void solve(){ int p1 = a1.find('<', 0); int p2 = a1.find('>', 0); int p3 = a1.find('<', p2+1原创 2012-04-09 18:31:54 · 544 阅读 · 0 评论 -
UvaOJ 537 - Artificial Intelligence?
题目字符串处理有个地方不知道为什么那样会wa,详见注释。另外我采用的是一行读入,然后进行字符串parse,比较麻烦。可以采用istringstream或sscanf等,从字符串再进行格式化读入,比较好。参考:http://www.cnblogs.com/shixuehunk/archive/2011/07/22/2113728.html 、 http://www.cp原创 2012-04-09 21:50:57 · 736 阅读 · 0 评论 -
UvaOJ 10014 - Simple calculations
在HUST上开了个比赛,加了几道刘汝佳书里的简单数学题。Uva今天我这上不去,诶,还是老样子没变么,时不时抽风。HUST那里交了题也返回Judging Error 1 。也罢,先把这题解写了。题目这题给了个公式 ai = (ai–1 + ai+1)/2 – ci (1<=i<=n). a是a0, a1,…, an+1 (n i 1000) 有n+2个元素的原创 2012-04-10 19:38:41 · 614 阅读 · 0 评论 -
UvaOJ 550 - Multiplying by Rotation
题目题意略。分析:这题我把式子各种展开,然后推了一个东西出来,枚举位数,然后求得一个x,若x能表示为当前总位数减一的base下的数,则当前位数为最小。这样写了后TLE了,判断那里可能耗时了。看了别人的题解后,发现我考虑复杂了。其实这就是一个base位进制下的多位数乘以一位数的乘法运算。写成竖式如下,a0a1a2...an-1c× f-----------------原创 2012-04-11 12:06:01 · 573 阅读 · 0 评论 -
UvaOJ 568 - Just the Facts
题目题意:输入一个n(0分析:这种题好像以前见过好多次,(对,确实做过 = =,而且当年没做出来 = =!)。现在我是用记录每个质数有多少个来算的,把2跟5的去掉(2*5 = 10)。还要打表。n感觉应该有其他方法? 其他解法补在下面。代码:#include#include#includeusing namespace std;#define bug(s原创 2012-04-11 15:05:22 · 667 阅读 · 0 评论 -
UvaOJ 10110 - Light, more light
题目看了n遍终于看懂了,大意是,走廊上有1~n盏灯,人在走廊上走n个来回,每次走人都会按灯的开关。按开关的策略是这样的,第 i 次走,人只按灯编号能被 i 整除的灯的开关。问你最后走完了,第n盏灯的状态是开还是关。灯的初始状态都是关的。简单数论。仅当n为完全平方数时,n的状态是开。注意题目中说 n是 less then or equals 2^32-1 ,int 放不下(-2原创 2012-04-10 21:48:02 · 455 阅读 · 0 评论 -
UvaOJ 10879 - Code Refactoring
题目貌似是一道special judge的问题,水。代码:#includeusing namespace std;int main(){ int t; cin>>t; for(int T=0; T<t; T++) { int n; cin>>n; int a[2], b[2]; i原创 2012-04-11 11:03:32 · 479 阅读 · 0 评论 -
UvaOJ 112 - Tree Summing
题目就是给你一个所谓的二叉树的S-expression 让你判断是否存在指定的 根到叶子的路径和。我在这里用到cin.putback() (C里有 int ungetcA(int ch, FILE *stream) 在cstdio中),方便把下一个字符拿出来判断后再塞回缓冲区,最后用格式化读。特别注意的是,题目所说的叶子,必须具有(integer()()) 这样的形式才是一个叶子,也就原创 2012-04-12 12:01:57 · 780 阅读 · 0 评论 -
UvaOj 401 - Palindromes
刷点水题先恢复下手感....题目代码:#include#include#define MAXM 1000char fc[MAXM];void init(){ memset(fc, 0, sizeof(fc)); fc['A'] = 'A'; fc['E'] = '3'; fc['H'] = 'H'; fc['I'] = 'I';原创 2012-04-09 12:54:03 · 643 阅读 · 0 评论 -
UVA 10048 - Audiophobia
<br />题目大意:给出一个图,求某点到某点所必须忍受的最小噪音(即所经过路径的相邻两点的权的最大值最小)。<br />中文翻译<br />题目链接<br />题目类型:图论 / Floyd<br /> <br />题目分析:<br />①虽然做的是图论专题,但是开始还是觉得可以dp(后来证明我之前没有充分理解所谓“松弛技术”)。结果是写了一个可以过样例但是wa的dp。于是后来分析,关键点是两个相邻指标值,它们是相互依赖的,具体的说,假设有1点和2点它们相邻,则算d1的值时要根据d2的值算一次,但是d2的原创 2011-04-10 02:22:00 · 734 阅读 · 0 评论 -
UVA 10034 - Freckles
Q10034: Freckles給你一些點的座標,把這些點用墨水畫直線連起來,使得所有的點最後都連在一起。你的任務是寫一個程式找出墨水畫出的長度最小是多少?Input輸入的第一列有一個整數,代表以下有幾組測試資料。每組測試資料的第1列有一個整數n(0輸入的第一列與第一組測試資料間空一列,各測試資料間亦空一列。請參考Sample InputOutput對每一組測試資料輸出墨水畫出的長度最小是多少。測試資料間亦請空一列。Sample Input231.0 1.02.0 2.02.0 4.021.0 1.02.0原创 2011-04-09 23:47:00 · 883 阅读 · 0 评论 -
UVA 10066 - The Twin Towers
<br />题目大意:讲了一大堆,就是要求 最长公共子序列。<br />题目类型:dp / LCS<br />题目分析:<br />是我没睡醒吗?为什么明明写的是//Print a blank line after the output of each data set. 而不是每组数据间一个blankline。竟然调了许久。<br /> 代码:<br />① 记忆化搜索版本。<br />//那么大段题目,其实讲的就是最长公共子序列。fuck。#include<cstdio>#include<cst原创 2011-05-13 16:56:00 · 535 阅读 · 0 评论 -
UVA 103 - Stacking Boxes
题目大意: 输入k个n维的东西(当n=2的时候看成框,n=3时看成方体,之后是超立方..),求 最大 的长度 使每个框可以在后一个中装下。输出最大值,和 顺序 (框从小到大,顺序指输入的顺序,从1开始到k)。题目类型: dp。 DAG上的。分析:原创 2011-03-28 17:20:00 · 1095 阅读 · 0 评论 -
UVA 10405 - Longest Common Subsequence
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=1346题目大意: 就是输入两个字符序列,输出两个序列的最长公共子序列(注意序列跟串的区别)。题目类型: 经典dp /LCS分析: 就是 最长公共子序列(LCS)的问题。d[i][j]表示a[i]之前、b[j原创 2011-03-28 22:52:00 · 1690 阅读 · 0 评论 -
Uva 111 – History Grading
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=47题目大意:判断两个排列的最多相同的相对位置(顺序)。题目类型:简单dp,最长公共子序列,最长单增子序列。(注意串和序列的区别)分析:解法一:把序列sort,然后就变成求它与原序列的最长公共子串问题了。 解法二:按最长单增子序列做,最后变成求d的最大值。代码:原创 2011-03-27 22:55:00 · 1135 阅读 · 0 评论 -
UVA 147 - Dollars
<br />题目大意:就是有几种面额的硬币,输入钱S,求有多少种不同的找钱方法。S是其中最小面额的倍数。<br />题目类型: dp / DAG上的路径计数问题<br />题目分析:<br />其实这题跟 UVA 674 - Coin Change 基本一样。<br />只是输入的S是实数,而且输出的方法数会超过int32(这里WA了一次) ,所以要 long long。<br />输入的S由于是其中最小面额的倍数,所以转成int,这里要注意四舍五入(又WA了一次)。<br />最后,还有输出int64原创 2011-05-16 20:56:00 · 962 阅读 · 0 评论 -
UVA 10003 - Cutting Sticks
<br />题目大意:<br /> 给出一根长为l的木棒,要切指定的n刀(在木棒上的绝对位置)。而每一刀的<br />消费是被切的木棒长度,求最小总消费。<br /> 另外,注意输出格式: e.g. The minimum cutting is 200.<br /> <br />题目类型: dp。<br /><br />分析:<br /> ①开始还在想是不是可以贪心之类的(虽然知道做的是dp篇=。=),于是就想<br />决策,考虑是不是每次要切较中间的部分,但第二个sample就不符合。还是老实想dp原创 2011-03-30 13:04:00 · 859 阅读 · 0 评论 -
UVA 116 - Unidirectional TSP
题目大意:输入一个m*n的矩阵,按每步走右上、右下、正右(三种选择)的方法,完成从第一列(任何行)走到最后一列。每步的消费是输入的矩阵元素值。注意,规定最后一行跟头一行是相邻的(即可以相互走到)。要求输出 字典序最小(若有多种)的路径,路径用每步所在行表示。行列都从1开始计算。输入 1输出结果不超出int32。注意:①A path starts anywhere in column 1. ② lexicographically smallest should be output.原创 2011-03-30 13:37:00 · 1733 阅读 · 2 评论 -
UVA 674 - Coin Change
题目大意:用5种面额的硬币找钱(钱恰好),求方法数。要注意 1.Note that we count that there is one way of making change for zero cent. 2. Your program should be able to handle up to 7489 cents.题目类型: dp分析:原创 2011-03-29 18:03:00 · 1588 阅读 · 0 评论 -
UVA 567 - Risk
跳到分析 跳到代码 题目大意: 给出一个无向图(可以有环),要求从指定起点到指定终点的最短距离。题目的输入输出很恶心,下面给出sample:Sample Input 113 // i=1,1-th行 ,指序号为 i 的点跟 哪些 大于i 的点相邻, 第一个数X 指 后面有X个数。23 43 4 5 61 61 72 12 131 82 9 101 111 112 12 171 142 14 152 15 161 161 192 18 191 20120原创 2011-03-30 21:37:00 · 759 阅读 · 0 评论 -
UvaOJ 127 - "Accordian" Patience
题目题意规则挺多的,但是读懂了还是清晰的,这里就不写了。模拟题。我开了个双向链表,用struct 的 oop写的,没access control 看着挺乱但是写着还是挺爽的。130行...1Y。代码:#include#include#includeusing namespace std;#define MAXN 53 //52cardsstruct C原创 2012-04-11 21:46:51 · 701 阅读 · 0 评论