题意:给你一个n*m方格 让你用1*2的的小方格去铺满,其中有k个方格不能被铺到。
思路:二分图建图, 以每个格子为点建图,如果可以用一块1*2的小方格铺到,就连一条边。
每个格子在X集合和Y集合都有一个点,只要任意一边被匹配到了就算可以,然后就是二分图匹配了。
上代码。
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-05-14 00:17:28
阅读次数:
285
题目来源:POJ 2992 Divisors
题意:。。。
思路:素数分解的唯一性 一个数可以被分解成若干素数相乘 p1^x1*p2^x2*...*pn^xn
根据乘法原理 因子数为 (x1+1)*(x2+1)*...*(xn+1)
不能直接求出组合数 会溢出 也不能把每个乘的数分解因子 这样会超时
C(N,M)=N!/(M!*(N-M)!)
另dp[i][j] 代表为i的阶乘中j因子...
分类:
其他好文 时间:
2014-05-13 09:28:07
阅读次数:
207
题目来源:POJ 3090 Visible Lattice Points
题意:哪些点可以看到
思路:
F1: 0/1 1/1
F2: 0/1 1/2 1/1
F3: 0/1 1/3 1/2 2/3 1/1
F4: 0/1 1/4 1/3 1/2 2/3 3/4 1/1
F5: 0/1 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1/1
F6:...
分类:
其他好文 时间:
2014-05-13 08:35:54
阅读次数:
324
题目链接:点击打开链接
题意:给定n*m的矩阵
有一个人a从左上角↖走到右下角↘,只能↓或→走
另一个人b从左下角↙走到右上角↗,只能↑或→走
使得2个人的路径有且仅有一个格子是相交的。
统计2个人的权值和(相交格子的权值和不计)
问最大的权值和是多少。
思路:
首先转换一下题意,也就是找一个格子与4个角落连不相交的线。
我们观察相交的那个格子,那个格子的上下左右必然对应着一个角...
分类:
其他好文 时间:
2014-05-13 07:51:44
阅读次数:
280
题目来源:POJ 1006 Biorhythms
题意:给出3个周期第一次发生的时间 和 当前开始的天数 求三个周期下一次到达高峰期发生在哪一天
思路:这题很水 试一下我的模版而已
#include
#include
using namespace std;
typedef long long LL;
const int maxn = 10;
int a[maxn], m[maxn];
...
分类:
其他好文 时间:
2014-05-13 05:07:28
阅读次数:
253
题意:计算a-b中各个数字出现的个数;
解法:数位dp(思想都是先算1-b的个数,然后减掉1-a中的个数),1-9数字的计算和前边计算1的那一篇数位dp差不多,计算0时候要加一维表示前缀是否全是0;
代码:/******************************************************
* author:xiefubao
*****************...
分类:
其他好文 时间:
2014-05-12 23:51:12
阅读次数:
470
原题地址:http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/题意:将一个排序好的数组转换为一颗二叉查找树,这颗二叉查找树要求是平衡的。解题思路:由于要求二叉查找树是平衡的。所以我们可以选在数组的中间那...
分类:
编程语言 时间:
2014-05-12 21:44:57
阅读次数:
379
原题地址:http://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/题意:将一条排序好的链表转换为二叉查找树,二叉查找树需要平衡。解题思路:两个思路:一,可以使用快慢指针来找到中间的那个节点,然后将这个节点作为...
分类:
编程语言 时间:
2014-05-12 21:07:00
阅读次数:
405
题目线段树简单题意:区间(单点?)更新,区间求和更新是区间内的数开根号并向下取整这道题不用延迟操作//注意://1:查询时的区间端点可能前面的比后面的大;//2:优化:因为每次更新都是开平方,同一个数更新有限次数就一直是1了,所以可以这样优化#include
#include#define N .....
分类:
其他好文 时间:
2014-05-12 20:01:38
阅读次数:
295