- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 CF Round#617(A B 。。。=_=)
A:简单的写数学题:=_= 从原点到N点(同一水平线)需要走的最少步数,每次只能走1.2.3.4.5步题目链接:http://codeforces.com/problemset/problem/617/B#include<bits/stdc++.h> using namespace std; int main() { int n; while(~scanf("%d",&n))
2016-01-24 17:56:07 345
原创 HDU 5610 暴力枚举
题意:重量分别为a和 b 的杠铃片,分别有无限多个,现在要用a b两种杠铃片组合,使之达到重量c;求满足条件的a 和b 分别需要多少个.输出a+b最小的那个组合。分析: 1.因为杠铃是对称的,所以当c为奇数时,无解; 2.需要a的最大个数为c/a,,同理需要b的个数为c/b; 3.暴力枚举;=_=#include<cstdio> #include<iostre
2016-01-24 15:03:01 551
原创 HDU 5606_基础并查集
题意:n个点,n-1条边及其边的权值(0、1);求每个顶点与它距离最近的点的个数,最后对所有的值进行异或运算。分析:由题意可知, 求最短距离即求边权为0,。 考虑用并并查集将边权为0 的顶点合并,同时记录每个集合元素的个数。http://acm.hdu.edu.cn/showproblem.php?pid=5606#include<cstdio> #include<iostream> usin
2016-01-24 14:51:41 346
原创 HDU 1579 记忆化搜索(递归+动态规划)
if a <= 0 or b <= 0 or c <= 0, then w(a, b, c) returns: 1if a > 20 or b > 20 or c > 20, then w(a, b, c) returns: w(20, 20, 20)if a < b and b < c, then w(a, b, c) returns: w(a, b, c-1) + w(a, b
2016-01-21 21:21:26 721
原创 HDU 1597 find the nth digit
假设: S1 = 1 S2 = 12 S3 = 123 S4 = 1234 ……… S9 = 123456789 S10 = 1234567891 S11 = 12345678912 ………… S18 = 123456789123456789 ……………… 现在我们把所有的串连接起来 S=1121231234…….123456789123456789112345678912
2016-01-21 21:12:46 266
原创 HDU 2141 二分查找
题意: 给定三个集合A[ l ] , B [ m ] ,C [ n ],a , b , c 分属于ABC三个集合,给出一个数 x, 问是否在这三个集合中找到满足a+b+c=x;如能找到,输出YES,否则 NO;分析: 很显然用暴力查找的话,会超时,考虑用二分查找,来降低时间复杂度 注意点:由于给定的数据范围int32,但是在程序处理过程中,可能会有超出Int32位,所以用__int64,还需要
2016-01-21 21:02:01 295
原创 CF Round #616 (A,B,C 字符串,贪心,DFS)
http://codeforces.com/problemset/problem/616/AA题:比较两个长整数的大小(可能含有前导0), 数据位数高达10^6位;考虑用字符串 一开始想的是把前导0,去掉,然后从高位到低位逐位比较;TLE了 下面是TLE代码:#include<cstdio> #include<cstring> using namespace std; #define N 100
2016-01-20 23:58:16 318
原创 HDU 1527 2177(威佐夫博奕)
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。分析:假设两堆石子的数量分别用m,n来表示,(m,n);m#include<cstdio> #includ
2016-01-20 10:21:16 305
原创 HDU 2149 巴什博奕
简单介绍一下:巴什博奕 题目模板: 一堆棋子(n个),两个玩家A和B, 玩家每次轮流从该堆棋子中取若干个,至少1个,之多m个;经过若干轮之后,谁先取完谁就获胜。分析: 如果n=m+1;则无论A 从中取出多少,B 总能取完。 所以设n=(m+1)*k+r ; A从中取 r 个,B从中取 x 个,A 再从中取m+1-x个,则剩余(m+1)(k-1)个。。。。。。按照这样的取法(即每次留给B的个数要
2016-01-18 18:38:09 367
原创 HDU 1048 字符串处理
题目大意: 告诉你明文转换成密文的加密方法是,将该字符在26个大写字母中的位置右移5个位置,所对应的字符。 题目问:给你一段密文,求它的明文;简单的字符串处理问题 1048题目链接#include<cstdio> #include<string> #include<iostream> #include<algorithm> using namespace std; string str,sta
2016-01-17 20:57:06 523
原创 POJ 1469 最大匹配
题目大意:N个学生,p们课,,每一门课程可以有多个学生选修,给出每门课程学生的选修情况,问:对于每门课程可不可以找到一个课代表( 前提是该学生要选修该门课程)原题链接二分图匹配: 只用在输入处理(即构造二分图时注意下就可以的)#include<iostream> #include<cstring> #include<cstdio> using namespace std; #define M
2016-01-17 20:48:31 978
原创 POJ 1325 最大匹配
题目大意:两台机器A和B,机器A有0~n-1中模式,B有0~m-1种模式,开始时A和B都工作在0模式; 给定K 个作业,对于作业j ,给定的约束条件是(i,x,y);表示作业i既可以工作在A的x模式下,也可以工作在B的y模式下; 我们要做的就是改变机器的顺序,给每个机器分配合适的作业,是机器重启次数最少.构造二分图:把A的n个模式和B的m 个模式看做两个集合,作为图的顶点,如果某个作业再两个模式
2016-01-17 20:34:09 692
原创 HDU 2063 过山车
点击题目打开链接 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partn
2016-01-17 20:10:54 298
转载 学霸,学渣,还是血神???微笑
神与学霸的共同点是积点都令人发指得高,这也是他们的主要特征,或者说是基本特征。但是他们的区别也是很大的。 平时打电话给普通人:喂在干嘛? 玩 玩什么? 逛街/唱k/打游戏/看电影/睡觉/。。。 打电话给学霸: 喂在干嘛?
2016-01-17 20:03:50 754
原创 HDU 1528 二分图最大匹配
点击打开题目链接 题目与之前做过的一道题目(田忌赛马hdu 1052)类似,变化不大;大意是:52张牌随机分成数量相等的两部分,已知玩家1的牌的排列顺序 ,现在玩家2需要对自己的牌排序,使同一顺序下对应的牌,自己的大,这样就可以得一分,问玩家2在最优的情况下所得的分数。牌的面值为2-9,T,J,Q,K,A,当面值相同时,比较花色,红桃>黑桃>方片>梅花,即H>S>D>C; 需要注意的是A 为最
2016-01-17 19:41:41 437
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人