- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 蓝桥杯 剪格子
就是从0,0开始走一个凸多边形出来,找出走出一半的最小步数…… #include#include#include#include#include#include#include#include#include#includeusing namespace std;int ans,half,n,m;int pic[20][20];int dx[4]={-1
2014-12-20 21:11:55 960
原创 Codeforces Round #283 (Div. 2) D. Tennis Game
标程貌似是二分?我预处理标记了一下,然后从1到n枚举t,因为对于每个t,若s存在,那么s是唯一的,所以枚举t即可。判断t是否合法,直接暴力的话,会超时不知道标程大致思想是否跟我的一样,也许就是标称没有标记而是二分来找但是,我的时间复杂度是更优的,n*(1+1/2+1/3+......1/n)=n*lnn的做法#include#include#incl
2014-12-19 13:23:43 1036
原创 hdu 2191
额……杭电蹦了……就先这样吧……多重背包……Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1Output对于每组测试数据,请输出能够购买大米的最多重量,你可以假设经费买不光所有的大米,并且经费你可以不用完。每个实例的输出占一行。Sample Input18 22 100 44 100 2Sample O
2014-12-17 18:49:41 957
原创 蓝桥杯 带分数
来一个全排列,然后枚举+跟/的位置,时间复杂度大概是,9!*28 历届试题 带分数 时间限制:1.0s 内存限制:256.0MB 问题描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含
2014-12-16 13:28:09 879
原创 蓝桥杯 蚂蚁感冒
直接模拟每一个时刻的状态 历届试题 蚂蚁感冒 时间限制:1.0s 内存限制:256.0MB 问题描述 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁
2014-12-13 14:33:24 1068
原创 蓝桥杯 地宫取宝
dp[x][y][num][mx]:从位置x,y,有num个物品,最大值为mx的状态,开始走到满足条件的终点,有多少种方法http://lx.lanqiao.org/problem.page?gpid=T120 历届试题 地宫取宝 时间限制:1.0s 内存限制:256.0MB 问题描述 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个
2014-12-13 14:06:45 1252
原创 蓝桥杯 小朋友排队
历届试题 小朋友排队 时间限制:1.0s 内存限制:256.0MB 问题描述 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的
2014-12-13 12:47:07 3014 2
转载 字符串哈希函数
基本概念所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m>=n,如果对于不同的key1,key2属于X,有h(key1)!=h(key2),那么称h为完美哈希函数,当m=n时,h称为最小完美哈希函数(这个时候就是一一映射了)。在处理大规模字符串数据时,
2014-12-12 20:06:59 913
原创 蓝桥杯 九宫重排
康托展开式去重来一发bfs#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int PermSize=9;int factory[20]={0,1,2,6,24,120,720,5040,40320,3
2014-12-12 19:10:57 1278
原创 poj 2411 Mondriaan's Dream
给出一个n*m的棋盘,及一个小的矩形1*2,问用这个小的矩形将这个大的棋盘覆盖有多少种方法。dp[i][j]:有多少种方法,可以使得第i行的状态为jdp[i][j]=sum{dp[i-1][k],k可以通过合法变化变成状态j}0:该位置空余1:该位置被占有的人问,每个位置不是3种状态吗?即不放矩形,横放一个矩形,竖放一个矩形当然了,这样定义状态也
2014-12-11 21:23:15 928
原创 蓝桥杯 高僧斗法
这个,由于,情况特殊,那个最后找第一步怎么移动的时候,要暴力枚举啊……#include#include#include#include#include#include#include#include#include#includeusing namespace std;int main(){ vectora; int i,j,k,n,t,ans; wh
2014-12-10 18:22:31 1726
原创 poj1704 Georgia and Bob
啊……怎么说好呢……就这样吧……*题目大意:* 一个1*M的棋盘上有N个棋子,初始位置一定,两人轮流操作,* 每次移动一枚棋子,要求只能向左移且至少移动一格,而且不* 能到达或经过以前有棋子的格子,谁无法移动棋子就算输。*解题思路:* 先考虑两个棋子靠在一起的时候,这两对棋子就构成了一个* 奇异局势(P点)。所以
2014-12-10 18:18:58 862
原创 hdu 1081 To The Max
最大子矩阵和……一直听说dp啊什么……好吧……暴力一个很巧妙的思想由于有负数肯定是不太好的所以,a[i][j]:第i行前j个数的和然后,从第1行开始到最后一行,枚举第i列跟第j列(j用t记录当前结果,若t为负数,则t=a[k][i]-a[k][j]若t为正数,t+=a[k][i]-a[k][j]
2014-12-09 12:49:34 836
原创 UVA - 10306 e-Coins
题目:有n种物品,每种物品有x, y两个价值,并且可以有无限多个。给定s,使得(x1+x2+....)^2 + (y1+y2+....)^2 = s ^ 2。并且物品个数最少。啊,一顿完全背包之后……再扫一顿……就可以了#include#include#include#include#include#include#include#include#inclu
2014-12-08 18:36:25 1104
原创 UVA - 590 Always on the run
有n个点,问第k天从1到n的最少花费(第0天在点1)已知两两之间穿梭需要的花费已知从x到y,第几天的花费是多少(每天花费都可能不同,为0代表该天不可走)啊,就是这样
2014-12-07 20:52:35 948
原创 UVa 10534. Wavio Sequence
这题是要找一个最长(假设长度为2N-1)的子序列,使得前N个元素递增,后N个元素递减。由于N比较大,直接上n^2的dp会超时……用另外的方法……贪心+二分……这应该不算dp了……好吧……也许可用斜率dp解?额……我不会最长上升子序列问题:给出一个由n个数组成的序列x[1..n],找出它的最长单调上升子序列。即求最大的m和a1,a2……,am,使得a1
2014-12-06 16:23:42 1030
原创 UVa 10069 - Distinct Subsequences
dp+大数加法。设母串的长度为 j, 子串的长度为 i,我们要求的就是长度为 i 的字串在长度为 j 的母串中出现的次数。(1)若母串的最后一个字符与子串的最后一个字符不同,则长度为 i 的子串在长度为 j 的母串中出现的次数就是母串的前 j - 1 个字符中子串出现的次数,即 str[i][j] = str[i][j - 1];(2)若母串的最后一个字符与子串的最后一个字符相同,那么
2014-12-05 15:54:01 763
原创 uva 825 Walking on the Safe Side
卡的一手好输入输入处理懒得写了,直接复制了,23333给出n,m,现在给出n行数据, 每行有k(k为不定值)个数字, 第一个数字代表行数, 后面k - 1个数代表当前行的这个位置不可走, 问有多少路径可以从(1,1)到(n,m),只能向下或向右。#include #include const int N = 1005;int n, m, dp[N][N],
2014-12-04 22:17:06 854
原创 UVa 10404. Bachet's Game
题意为给出总石子数n,和m堆石子,两个人轮着取石子,每次只能从总石子中取m堆中的一堆的个数的石子,取走最后一个石子的胜。S先取,O后取。用博弈的输赢观念+dp就可以了,由于记忆化搜索会爆栈,那就递推了,索性还好推……不然就不会了……#include#include#include#include#include#include#include#includ
2014-12-04 18:28:58 1111
原创 poj3678Katu Puzzle
点为0或1,看满足m个条件时,是否有解#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int MAXN = 1010; struct twosat { int n,c;
2014-12-02 16:45:27 772
原创 poj3678Katu Puzzle
点为0或1,看满足m个条件时,是否有解#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int MAXN = 1010; struct twosat { int n,c;
2014-12-02 16:45:11 720
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人