自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

细语呢喃

www.hrwhisper.me 新blog

  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 HDU 2147kiki's game

KIKI和zz一起玩跳棋游戏,KIKI先。跳棋棋盘有n行m列。在顶行的最右侧位置放上一枚硬币。每次每个人可以把硬币移动到左边,下边或是左下边的空格中。最后不能移动硬币的那个人将输掉比赛。 P点:即必败点,某玩家位于此点,只要对方无失误,则必败;N点:即必胜点,某玩家位于此点,只要自己无失误,则必胜。一、所有终结点都是必败点P(自己无法操作了)二、所有一步能走到必败点

2013-08-19 10:15:09 597

原创 UVA 11489 - Integer Game 博弈

看题传送门题目大意:S和T在玩游戏,S先。给出一数字串,两人轮流取出一个数字,要求每次取完之后剩下的数为3的倍数,或者没有数字留下。如果两个人足够聪明,求胜利的一方。我一开始竟然没有输Case 直接交上去了,WA死了。笨蛋。分情况讨论呗。记3、6、9的个数为tsn如果一开始和就是3的倍数,那S只能拿3、6、9,所以当这tsn为奇数个胜利~如果一开始不是3的倍数,

2013-08-16 11:26:58 758

原创 UVA 11076 - Add Again

看题传送门求各个数字(是数字哦,本来还想用map的)组成的排列的和。如1,2,3,可以,, , , , 和为1332。 如果直接枚举每个排列的话。那会TLE的感觉。想想其他的办法。先考虑个位数上的。每个数都有机会被安排到个位上去。举个例子n=5,    2,2,2,3,4现将2排列到个位数,那么剩下的数的全排列为 4!/ (2!*1!*1!)就是高中的东西啦。将2

2013-08-15 22:53:14 756

原创 UVA 11624 - Fire! 图BFS

看题传送门昨天晚上UVA上不去今天晚上才上得去,这是在维护么?然后去看了JAVA,感觉还不错昂~晚上上去UVA后经常连接失败作死啊。第一次做图的题~基本是照着抄的T T不过搞懂了图的BFS,不像二叉树的BFS那么直观。#include#include#include#include#includeusing namespace st

2013-08-14 23:52:00 1598

原创 HDU 2587 - 很O_O的汉诺塔

HDU上这个汉诺塔问题并不好解决,AC人数少之又少。现在我带你来解答~

2013-08-13 10:41:49 3143 12

原创 巴什博奕小结 HDU2188 HDU1846 HDU2149

巴什博奕。如果n=m+1,那么必定后者取胜,因为无论先取者拿走多少个,后者能一次性拿完。那么我们就可以推断出:如果n是m+1的倍数,那么必然后者胜利。#includeint main(){ int T; scanf("%d",&T); while(T--) { int n,m; scanf("%d%d",&n,&m); if(n%(m+1)) prin

2013-08-11 19:27:51 839

原创 UVA 11859 - Division Game

看题传送门题目大意有一个n * m的矩阵,每个元素均为2~10000之间的正整数,两个游戏者轮流操作。每次可选一行中的1个或者多个大于1的整数把它们中的每个数都变成它的某个真因子,比如12可以变成1,2,3,4,5.不能操作的输,也就是说,谁在操作之前,矩阵中的所有数是1,则输。题目要求判断第一个人是否能获胜。 初试博弈论。本题可转化为Nim游戏。题目要求让一个数变为它

2013-08-11 18:10:55 867

原创 UVA 10791 - Minimum Sum LCM

看题传送门看了大神的思路才做出来的。数学弱爆了T T题目要求是至少两个正整数,是至少!那么何时有最优解呢?由唯一分解定理:(每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法仅有一种方式。)n = p1^(n1 ) * p2^(n2) * ... * pn^(nn)也就是说这里的n可以被拆分成上式。要使和最小,那么就是求p1^(n1 ) +

2013-08-10 23:21:34 677

原创 UVA 12299 - RMQ with Shifts 线段树

线段树。。。。值得一提的是作者处理括号内的方法,我还傻傻的用sscanf哭T T可以直接这样的。。。 int len = strlen(cmd); k = 0; args[k] = 0; for(int i = 6; i < len; i++) if(isdigit(cmd[i])) args[k] = args[k] * 10 + cmd[i] -

2013-08-10 18:20:02 802

原创 UVA 11609 - Teams 组合、快速幂取模

题目大意:有n个人,选一个或者多个人参加比赛,其中一名当队长,如果参赛者相同,队长不同,也算一种方案。求一共有多少种方案。 排列组合问题。先选队长有C(n , 1)种然后从n-1个人中选,但人数不确定,所以应是1个~n-1个人的和。比如n=1,那么就是C(n , 1)种n=2 那么就是 C(n , 1)  +  C(n ,1) * C(n-1 , 1)n=3那么就是

2013-08-09 23:10:33 954

原创 UVA 11388 - GCD LCM 水~

看题传送门题目大意:输入两个数G,L找出两个正整数a 和b,使得二者的最大公约数为G,最小公倍数为L,如果有多解,输出a显然有G所以如果有解,a最小值只能为G。什么时候无解呢?如果L 不能整除 G 就无解了嘛。 #includeint main(){ int T; scanf("%d",&T); while(T--) { int G,L;

2013-08-08 22:58:59 795

原创 UVA 11889 - Benefit 可直接枚举

看题传送门大意:输入两个整数A和C,求最小的整数B,使得lcm(A,B)=C。如果无解,输出NO SOLUTIONA*B=C*gcd(A,B)所以 B / gcd(A,B) = C / A如果C / A不是整数,那么就无解。不然B 一定是C / A 的整数倍。(都是整数嘛)#includeint gcd(int a,int b){ return b==

2013-08-08 22:47:21 2336

原创 LA 5902 - Movie collection 树状数组(Fenwick树)

题目大意:XXX喜欢看电影,他有好多好多的影碟,每个影碟都有个独立的编号。开始是从下往上影碟的顺序是n~1,他每次拿出影碟的时候,你需要输出压在该影碟上的有几个。(拿出后其他影碟顺序不变)看完影碟后,XXX会把影碟放在最上面。 感冒了,不好玩T T这题依旧是Fenwick的应用。但是有点奇怪是吗?我们要如何表示出来?我们可以取向上为正方向。(→_→喂,我不是在做物理,我不要受力

2013-08-07 23:12:06 1218

原创 LA 3602 - DNA Consensus String 枚举

原题地址:DNA (Deoxyribonucleic Acid) is the molecule which contains the genetic instructions. It consists of four different nucleotides, namely Adenine, Thymine, Guanine, and Cytosine as shown in Fi

2013-08-07 14:29:07 745

原创 UVA 10905 - Children's Game

一开始我以为是选高位大的并且选位数少的 如90 和9选9,但后来想到989 和98呢 明显98998>98989 好恶心然后我觉得直接拼接起来比较不就好了嘛!sort不支持char二维数组的样子。然后就用string了。。。。。。。#include#include#include#includeusing namespace std;const int MAX

2013-08-07 14:28:46 674

原创 UVA 10340 - All in All 水~

原题地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1281Problem EAll in AllInput: standard inputOutput: standard outputTime Limit: 2 seconds

2013-08-07 10:36:01 656

原创 UVA 10970 - Big Chocolate 洪水@。@

先横着切m-1刀,矩形巧克力就变成了1*n (有m个)然后每个都要切n-1下,所以有 m*(n-1) +(m-1)= n*m-1#includeint main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { printf("%d\n",n*m-1); }}

2013-08-06 23:04:44 615

原创 UVA 11039 - Building designing 水题哇~

水题一题,按绝对值排序后扫描一片数组(判断是否异号,我是直接相乘注意中间值越界)即可。#include#include#includeusing namespace std;const int MAXN=500000+10;int a[MAXN];bool compare(const int &a,const int &b){ return abs(a)<abs(b)

2013-08-06 22:43:49 589

原创 LA 3213 - Ancient Cipher

感叹,英语要好好学啊。。。。。题目要求满足一一映射,就是说出现次数要相同。。。T T所以统计次数->排序。。#include #include#includeusing namespace std;const int MAXN=100+10;char a[MAXN],b[MAXN];int num_a[26],num_b[26];bool ok(char a[],

2013-08-06 20:45:25 735

原创 UVA 11636 - Hello World!

这题太水了吧。。。。。。。。。#include int main(){ int n,kase=1; while(scanf("%d",&n),n>0) { int ans,t=1; for(ans=0;t<n;ans++) t*=2; printf("Case %d: %d\n",kase++,ans); }}

2013-08-06 19:52:08 609

原创 LA 2191 - Potentiometers

看题传送门Fenwick树的应用~~~#include #include #includeusing namespace std;const int MAXN=200000+10;int a[MAXN],c[MAXN],n;inline int lowbit(const int &x){ return x&(-x);}void add(int x,i

2013-08-06 18:39:53 951

原创 UVA 11987 - Almost Union-Find

第一次交TLE,说好的并查集昂。好吧我改。求和、个数 在各个步骤独立算。。还是TLE。看来是方法太慢,就一个数组(fa),移动的话,移动跟结点要遍历一次 T T嗯,那就多一个数组。0.189S。#includeconst int MAXN=100000+10;int fa[MAXN],num[MAXN],idx[MAXN],cnt,n,m;long long

2013-08-06 15:43:25 720

原创 UVA 11136 - Hoax or what (可以提交了,不会Submission error了)

吐槽一下UVA,连接好慢。这题交上去一直Submission error 。拿别人的AC代码也一样。那就先存着,以后交喽~用到了multiset ,不是set哦,set不允许元素重复,而multiset 允许。#include#include#includeusing namespace std;int main(){ multiset p; int

2013-08-05 23:19:36 1588 3

原创 UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)

用链表模拟过程就可以了。。。。。第一次看见陈锋的代码。好奇的交上去,被完虐。我的0.426S他的0.099ST T哭#includestruct link{ link *next; char data;};int main(){ char temp; while(temp=getchar(),temp!=EOF) { link *head,*last

2013-08-05 21:51:44 1075

原创 LA 3882 - And Then There Was One(约瑟夫 递归)

给出约瑟夫问题变形:N个数排成一圈,第一次删除m,以后每k个数删除一次,求最后一被删除的数。如何快速解出?请看我的讲解。

2013-08-05 14:08:30 1884

原创 LA 4329 - Ping pong 树状数组(Fenwick树)

哭瞎了,交上去一直 Runtime error 。以为那里错了。狂改!!!!!然后还是一直。。。然后发现数组开小了。。。。。。。。。。果断改了。。。。。AC了。。。。。。哭瞎了。。。。T T笨蛋T T数组开太小这么愚蠢的错误也会犯!笔记:二叉索引树(也称Fenwick树)对于节点i ,如果它是左子结点,父结点就是 i+ lowbit(i) 如果他是右结点,

2013-08-04 14:58:33 1117

原创 UVA 11235 - Frequent values

嗯,RMQ问题。贴个代码。先去睡觉了。明天整理#include#include#includeusing namespace std;const int MAXN=100000+10;int a[MAXN],left[MAXN],right[MAXN],num[MAXN];struct RMQ { int d[MAXN][20]; void init(const v

2013-08-03 23:51:41 722

原创 LA 3644 - X-Plosives ( 也即UVA 1160)

LA看题 请点击:传送门UVA 上也有这题 :UVA 1160 - X-Plosives题目大意就是如果车上存在 k 个简单化合物,正好包含 k 种元素 ,那么它们将有危险,此时你应该拒绝装车。 要求输出没有装车的化合物。把每个元素看成顶点,则一个简单化合物就是一条边。如果存在环形,那么组成环的化合物是危险的,否则就是安全的。那么如何实现呢?用并查集。#in

2013-08-02 23:11:06 877

原创 FZU 2020 组合

组合数求模要用逆元,用到了扩展的欧几里得算法。#includeint mod;typedef long long LL;void gcd(LL a,LL b,LL &d,LL &x,LL &y){ if(!b) {d=a;x=1;y=0;} else { gcd(b,a%b,d,y,x); y-=x*(a/b);}}LL inv(LL a,LL n){ LL

2013-08-02 21:53:53 965

原创 LA 3027 - Corporative Network

看题请点击:传送门 题目只查询结点到根结点的距离,所以跟结点不能动,但其他的随意。符合并查集的特点。用d[i]记录到父结点的距离,在查询时更新为到根结点的距离就好了。#include#include#include#includeusing namespace std;const int MAXN=20000+10;int pa[MAXN],d[MAXN];

2013-08-02 17:33:53 648

原创 LA 3135 - Argus

看题:传送门大意就是让你编写一个称为argus的系统,这个系统支持一个register的命令: Register  Q_num Period该命令注册了一个触发器,它每Period秒就会残生一个编号为 Q_num的事件。你的任务就是模拟出前k个事件。如果多个事情同时发生,先处理Q_num小的事件。优先队列的使用。练习了用struct类自定义优先级。#in

2013-08-02 11:29:14 677 1

原创 UVA 11991 Easy Problem from Rujia Liu?

用map 和vector很巧妙的解决了#include#include#include#includeusing namespace std;map > a;int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { int temp,k,v; for(int i=0;i<n;i++) { s

2013-08-02 10:06:17 651

原创 11995 - I Can Guess the Data

大意:猜数据结构是栈、队列或者优先队列,可能为两种以上,也可能都不是。水题。。 STL 记得判断是否为空#include#include#include#includeusing namespace std;const int MAXN=1000+24;int num[MAXN],action[MAXN],n;bool check_stack(){ stack a;

2013-08-01 23:12:04 649

原创 UVA 11021 - Tribles

嗯,每一只Tribles只活一天,求m天后所有Tribles均死亡的概率。Tribles临死前可能产生新的Tribles,产生i 个Tribles的概率为pi(i从0开始哦)我们只需要求出1只Tribles m天后均死亡的概率就可以了。然后k只就是它的k次幂。设f( i )为 在 i 天全部死亡的概率那么有f ( i )= p[0] +p[1] *f(i-1) +p[2

2013-08-01 21:04:20 715

Twitter Data Analytics

Shamanth Kumar, Fred Morstatter, Huan Liu (auth.) Twitter Data Analytics, 英文原版

2015-10-23

ADT-22.0.1 安卓开发工具

ADT即Android Development Tools 安卓 开发的一个工具 在eclipse下安装步奏: Help &gt;Install new Software &gt;Add &gt;Archive &gt;找到ADT 22 0 1 zip 上面的名称随意 &gt;勾选Developer Tools &gt;一路next 亲测可用

2014-07-07

背包九讲PDF版

背包九讲PDF版,背包问题的经典之作。支持ctrl + c 复制

2013-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除