【Uva 1630】Folding】的更多相关文章

[Link]: [Description] 你能对字符串进行压缩的操作; 即把连续出现的相同的子串改成它出现的次数+这个最基本的字符串的形式; 问你这个字符串最短能被压缩得多短; [Solution] 设f[i][j]表示,i..j这一段最短能压缩得多短; d[i][j]表示i..j这一段最短的形式压缩成的字符串是什么; 对于一段i..j 有两种可能 1.是两个压缩串合并起来的; 2.自己构成一个压缩串 对于第一种,枚举间断点; 对于第二种,看看最短的母串是什么,用最短的母串构造压缩; 看看间断…
偶数矩阵(Even Parity, UVa 11464) 给你一个n×n的01矩阵(每个元素非0即1),你的任务是把尽量少的0变成1,使得每个元素的上.下.左.右的元素(如果存在的话)之和均为偶数.比如,如图1-6(a)所示的矩阵至少要把3个0变成1,最终如图1-6(b)所示,才能保证其为偶数矩阵. (a)                 (b) [输入格式] 输入的第一行为数据组数T(T≤30).每组数据的第一行为正整数n(1≤n≤15):接下来的n行每行包含n个非0即1的整数,相邻整数间用一…
(解方程建模+中位数求最短累积位移) 分金币(Spreading the Wealth, UVa 11300) 圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等.你的任务是求出被转手的金币数量的最小值.比如,n=4,且4个人的金币数量分别为1,2,5,4时,只需转移4枚金币(第3个人给第2个人两枚金币,第2个人和第4个人分别给第1个人1枚金币)即可实现每人手中的金币数目相等. [输入格式] 输入包含多组数据.每组数据第一…
Piotr's Ants Porsition:Uva 10881 白书P9 中文改编题:[T^T][FJUT]第二届新生赛真S题地震了 "One thing is for certain: there is no stopping them;the ants will soon be here. And I, for one, welcome our new insect overlords."Kent Brockman Piotr likes playing with ants. H…
[Link]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=52 [Description] 给你一个n*m的数字矩阵; 矩阵上的每个位置包含一个数字a[i][j]; 你一开始可以在第一列的某一个位置开始取数; 然后再往右,或右上或右下走; 直到走到最后一列为止; 你可以拿走你所走过的格子上的所有数字; 问你拿走的所有数字的和的最小值;…
[Link]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4093 [Description] 给你n个点的坐标,这n个点的坐标按照x的大小升序排; 然后要求你从最左边的第一个点开始走,一直走到最右边,然后再从最右边走到最左边,在走的过程中,要求2..n-1这些点都被走,且严格只被走一次; 问你最短距离; [Solution] 假想成两…
[题目链接]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=378 [题意] 给你n个方形; 由3个属性,长宽高决定; 你可以任意摆放这个方形(即把哪一面朝下方); 然后每种方形都有无限个; 一个方形能够摆在另外一个方形上面,当且仅当这个方形的长和宽都严格大于另外一个方形的长和宽(即changi>changj &&…
[题目链接]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3466 [题意] 有n个站台;(线性的); 每相邻两个站台之间的火车的行驶时间是固定的; 然后每天在第一个站台会向第n个站台的方向发出m1辆车; 最后一个站台会向第1个站台的方向发出m2辆车; 给出m1辆车是何时发出的,m2辆车是何时发出的(递增顺序给出); 然后有一个人要从1…
[原题链接]传送门 [题面大意] 一个字符串,可以将它改写成循环节带括号的形式进行压缩,输出压缩长度最小的字符串. [题解思路] 1.没思路没思路,不知道怎么乱搞,大概就可以想到动态规划. 2.套路区间dp,f[l][r]表示[l,r]区间内的最小表示(字符串)和长度. 3.考虑需要进行的两个操作:折叠和合并. 折叠:每次扫描区间来求循环节感觉不是很行.->枚举折叠后的循环节的长度 合并:枚举中心点,注意长度和字符串都要更新. 4.注意边界:枚举循环节时 ,如果超出r的范围,当前长度就可作为循环…
[Link]:https://cn.vjudge.net/contest/170078#problem/G [Description] 给你若干个只由小写字母组成的字符串; 问你,这个字符串,最少能由多少个回文串组成; [Solution] 用枚举中心点的方法,得到为回文串的子串; 即bo[1010][1010]; bo[i][j]为true,表示这一段是回文; 否则不是回文; (回文在枚举的时候,有长度为奇数和长度为偶数两种情况,长度为奇数的,中心点只有一个,长度为偶数的中心点有两个) 然后设…