Problem DUndraw the Trees Input:StandardInputOutput: Standard Output Time Limit: 2 SecondsProfessor Homer has been reported missing. We suspect thathi...
分类:
其他好文 时间:
2014-08-15 12:20:48
阅读次数:
315
The die is castInterGames is a high-tech startup company that specializes in developing technology that allows users to play games over the Internet.....
分类:
其他好文 时间:
2014-08-15 12:16:38
阅读次数:
214
题目:UVA - 10313Pay the Price(完全背包)
题目大意:同样是凑钱的问题,只是询问的时候是要按照凑钱用的硬币个数的范围来做统计的。
解题思路:这里零钱1--300,固定的。并且查询的N也是最大300,那么凑N最多的硬币个数就是N了,这里给定p,q说小于1100,所以只要大于300的就可以不用计算了,一定是0个。dp【i】【j】: 用j个硬币凑足i的种数。并...
分类:
其他好文 时间:
2014-08-15 10:46:58
阅读次数:
173
数学实在练不下去了,只能来水几个图论了,真想像D神一样来句:这道题很简单,直接AC就可以了。
大体思路:按照边的权值排序,枚举区间,利用并查集判断是否构成通路。
14042663
1395
Slim Span
Accepted
C++
0.265
2014-08-15 02:11:53
#include
#inclu...
分类:
其他好文 时间:
2014-08-15 10:44:49
阅读次数:
183
给出n个顶点,n-1条边,对于每一个顶点来说每有一条路径经过,繁荣度+1,求最大繁荣度。
经过的含义就是这条路径使用了跟这个顶点相连的边中的的两条,任意组合都可以,所以要找出每个顶点相连的边延伸出去有多少种情况。
从第一个顶点开始建树,对于第i个节点有sum[i]个子节点,因此dp[i]=sum[i]*(n-1-sum[i]),再加上节点的n棵子树的节点数乘积/2。
#include
#i...
分类:
其他好文 时间:
2014-08-15 10:43:48
阅读次数:
233
题目大意:UVA - 10558A Brief Gerrymander(递推)
题目大意:给定一个100 * 100 的矩形,现在要求将这个区域划分,竖着的线已经给你划分好了,现在要求你在这个区域内再添加A个横着的线,1 100 这两条是一定要的,问怎样选择横着的线,能够使得选举区间最多。选举区间的条件:内部没有横竖线,并且有一个点在区间内部。注意:边界上的点也是算在内的,但是要防止重复...
分类:
其他好文 时间:
2014-08-15 10:43:38
阅读次数:
223
Description
Stable Grid
Consider a grid of size n x n where each cell contains a number. Let's call a grid stable if we canrearrange the numbers of each row so that every col...
分类:
其他好文 时间:
2014-08-15 10:42:58
阅读次数:
190
说说:这道题的题意是求出给定的N!(N<=10000)的第一个非零的数。可以想象10000!是非常可怕的,所以我开始的想法是将1~10000的结果都求出来保存在数组中,然后直接调用即可。而求结果的方法是从1开始键乘,且只保存结果的最后非零的两位。因为在很多情况下,第一个非零的数与太后面的数是没什么关系的。按照这个思路测试了一下,发现比较小的数没问题,当N逐渐变大的时候,后面就全乱了。原因应该是暂存的结果再乘以新的N的时候前两位就是0,所以最后的结果其实是与暂存结果的第三位数有关的,因此结果至少要保留三位。但...
分类:
其他好文 时间:
2014-08-14 20:40:39
阅读次数:
193
题目:10340 - All in All题目大意:给出字符串s和t,问s是否是t的子串。s若去掉某些字符能和t一样,那么t是s的子串。解题思路:匹配字符。t的每一个字符和s中的字符匹配。注意这里的字符数组大小要开大点。代码:#include #include const int N = 10000...
分类:
其他好文 时间:
2014-08-14 19:47:49
阅读次数:
227
状态表示方法:d[ i ][ j ]表示的是一条序列的开始和结束;
状态定义:d[ i ][ j ]表示字串s[ i~j ] 需要添加的数量。
#include
#include
#include
using namespace std;
int n;
char s[105];
int d[105][105];
bool match(char ch1,char ch2)
{
if(...
分类:
其他好文 时间:
2014-08-14 16:46:58
阅读次数:
239