题意:
给一个n个数的数列,从中取一些数构成新数列,
如果新数列中有一些数的和是k,那么这就是一个好数列,问这样的数列的个数。
n,k
状态:dp[][state] 中state的二进制每一位表示和为(1~k),1表示可以取到,0表示取不到。
状态转移方程:dp[i][state] = sum(dp[i-1][state']); state = 1
...
分类:
移动开发 时间:
2014-08-03 18:08:55
阅读次数:
269
题目来源:POJ 3904 Sky Code
题意:选出最大公约数为1的四元组的方案
思路:容斥原理 总的方案C(n,4)减去t(1)+t(2)-t(3)+...+(-)^kt(k)
t(i)表示四元组公因子的个数为i的方案数
#include
#include
#include
using namespace std;
const int maxn = 10010;
typedef...
分类:
其他好文 时间:
2014-08-03 18:07:55
阅读次数:
249
有n个房子,严格按从矮到高依次跳,跳的两个房子之间的距离要
差分约束。求最长路,按y-x
需要注意的是,按高度排序后建边,需要考虑1和n的顺序问题。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#...
分类:
其他好文 时间:
2014-08-03 18:04:25
阅读次数:
178
题意:
有n个数,从n个数中选出两个集合s和集合t,保证原序列中,集合s中的元素都在
集合t中元素的左边。且要求集合s中元素做抑或运算的值与集合t中元素做与运算的
值相等。问能选出多少种这样的集合s和t。
算法:
左右dp。
用dp[i][j]表示前i个数 做抑或运算得到j的方法数。最后一个值取不取到都不一定。
故为背包的问题。右边也是一样。
枚举时可能出现重复。枚举到第i...
分类:
其他好文 时间:
2014-08-03 18:04:05
阅读次数:
216
#include#include#include#include#include#includeint main(){ int server_sockfd,client_sockfd; int server_len,client_len; struct sockaddr_in se...
分类:
其他好文 时间:
2014-08-03 18:00:35
阅读次数:
208
这是第一场多校的题目,当时是我在做,没出--。检讨下,当时思路是对了的,用最大的任务,去匹配最小但刚好满足它的机器--,但是由于其他各种原因,写出的代码超时了。赛后想了下,比赛时for循环里面嵌套了个while循环,超时就在这里。其实是完全可以预处理的,我觉得是六月没a题,导致以往很多思路常识,都忘...
分类:
其他好文 时间:
2014-08-03 17:44:15
阅读次数:
511
旋 转卡壳水题。直接使用旋转卡壳求距离。#include #include #include #include #include using namespace std;const int MAXN=50100;struct point { int x,y;}p[MAXN];int n;int st...
分类:
其他好文 时间:
2014-08-03 17:36:05
阅读次数:
227
一、unix历史 1965年,美国麻省理工(MIT)、通用电气公司(GE)及AT&T的贝尔实验室联合开发Mulitics工程计划,其目标是开发一种交互式的具有多道程序处理能力的分时操作系统。最终贝尔实验室退出。 1969年肯.汤姆森在DEC PDP-7机器上开发了UNIX系统 1971年肯.汤...
分类:
系统相关 时间:
2014-08-03 17:32:45
阅读次数:
298
本题可以使用暴力法直接求解,思路也挺简单的,不过实现起来也挺麻烦的。
本题最暴力直接使用strstr过。 这里使用hash表的方法过,这种方法好像有个学名的,主要思路就是把一个需要查找的字符串赋予一个数值,那么就可以把一串字符串的比较转换为一个值的比较了,那么就可以加速字符串的查找了。
#include
#include
#include
const long long MOD = (...
分类:
其他好文 时间:
2014-08-03 15:23:05
阅读次数:
326