题目链接:uva 11270 - Tiling Dominoes
题目大意:用1?2木块将给出的n?m大小的矩阵填满的方法总数。
解题思路:插头dp的裸题,dp[i][s]表示第i块位置,并且该位置对应的行数的状态为s的时候的总情况数。0表示为竖放预留留的位置,1表示填上的位置,不管是竖放还是横放。并且第一位状态用滚动数组优化空间。
#include
#include
#incl...
分类:
其他好文 时间:
2014-05-23 07:39:17
阅读次数:
194
Background
Many problems in Computer Science involve maximizing some measure according to constraints.
Consider a history exam in which students are asked to put several historical events into chr...
分类:
其他好文 时间:
2014-05-23 00:14:42
阅读次数:
386
题目链接:12075 - Counting Triangles
题意:求n * m矩形内,最多能组成几个三角形
这题和UVA 1393类似,把总情况扣去三点共线情况,那么问题转化为求三点共线的情况,对于两点,求他们的gcd - 1,得到的就是他们之间有多少个点,那么情况数就可以求了,然后还是利用容斥原理去计数,然后累加出答案
代码:
#include
#include
#include...
分类:
其他好文 时间:
2014-05-22 10:35:15
阅读次数:
229
题目链接:1393 - Highways
题意:给定一个n * m的点阵,问两两相连后,能组成多少条至少穿过两个点的直线,并且不是水平或垂直的
思路:找过两点的线段,由于是整数坐标,只要他的斜率不是整数,即x / y不是整数就能满足答案,然后先记录下这所有的位置,然后利用容斥原理求出对应每个点可以连出多少条这样的线段,最后去求和,求和的时候要注意,由于有一些是重复计算了,比如1 1 和 2 2...
分类:
其他好文 时间:
2014-05-22 07:36:25
阅读次数:
188
下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training
Step1,用1年到1年半年时间完成。打牢基础,厚积薄发。一、UVaOJhttp://uva.onlinejudge.org西班牙Valladolid大学的程序在线评测系统,是历史最悠久、最著名的OJ。二、《算法...
分类:
其他好文 时间:
2014-05-21 19:18:32
阅读次数:
604
UVA 11133 - Eigensequence
题目链接
题意:有序列首位a1,尾为an,要求有多少个eigensequences(不一定连续),并且以a1为首,an为尾。
eigensequences的定义为: A为原序列,B为新序列,使得:
1、B(1) = A(1)
2、后面每项满足,A(j-1)
思路:DP,设dp[i][j]为到第i位,末尾为j的情况数,然后进行...
分类:
其他好文 时间:
2014-05-21 16:12:06
阅读次数:
168
题目链接:uva 10883 - Supermean
题目大意:给出n个数,每相邻两个数求平均数,将得到n-1个数,这n-1个数每相邻的两个数求平均值,将得到n-2个数。一次类推,求最后得到的那个数的值。
解题思路:类似与杨辉三角,第i个数起始被加了C(n?1i?1)次。总共有2n?1个数相加。但是因为n有50000,250000根本存不下,所以借助log函数。
例:
中间...
分类:
其他好文 时间:
2014-05-21 16:07:39
阅读次数:
243
题目链接:uva 11038 - How Many O's?
题目大意:写出m到n之间的数,问需要写多少个0.
解题思路:f(x)表示从0到x需要写多少个0,于是给出区间[m,n]就有答案等于f(n)-f(m-1)。剩下的就是f(x)该如何求。枚举每个位置上可能为0的情况,这样就将这个数分成两个部分,在保证组成的数小于x的前提下,计算可以的组成方法。
例:x=12345,枚举十位为0...
分类:
其他好文 时间:
2014-05-21 15:01:51
阅读次数:
192
题目链接:uva 11645 - Bits
题目大意:给出n,问从0到n这n+1个数种,数的二进制情况下,有多少11存在。
解题思路:和uva 11038一个类型的题目,只是这道题目是对于二进制下的情况。而且高精度部分可以用两个long long数解决。
#include
#include
typedef long long ll;
const int N = 100;
con...
分类:
其他好文 时间:
2014-05-21 11:17:49
阅读次数:
222
UVA 10712 - Count the Numbers
题目链接
题意:求区间[A,B]数字中,子串包含N的数字有多少个
思路:数位DP,写了个记忆化乱搞搞过了,dp[i][j][2][2][2],分别表示i位的时候,末尾为j的情况,后面3维用来处理小于的情况,已经出现过子串的情况,前导0的情况,然后注意特判一下数字0的情况,因为一开始要分解数字,而0是不能分解的。
代...
分类:
其他好文 时间:
2014-05-21 09:11:44
阅读次数:
264