- 博客(19)
- 收藏
- 关注
原创 poj 3414 Pots
每一种并不是都有六种操作,情况一:第一个瓶子有水,第二个瓶子没水,这种情肯定是不能将1中的水倒掉,也不能将1加满水,所以只剩下四种操作;情况二:第一个瓶子没水,第二个瓶子有水,同情况一,所以也只剩下四种操作;情况三:第一个和第二个瓶子都有水,这样就有六种情况,但是,明显,操作之后不能跟之前有重复,通过这个,不难想到用一个二维数组来保存第一个瓶子和第二个瓶子已经经历过的装水的情况,...
2020-10-21 20:05:18 118
原创 写给松懈的自己
开学了,事情也多了,渐渐的将代码抛之脑后,本来准备每天至少写一题,把刘汝佳的紫书给刷完的,但模电数电已经让我疲于奔命,已经鸽了有一个多星期了,除了每场的CF都打之外,我最近已经没怎么练手了,从CF可以很明显感觉出来,我大脑运转的没之前那么快了,A题往往要想很久才能转过弯来。CSP也打了,前两道题竟然花了50分钟左右,主要时间还是花在了敲代码上,足以说明我退步了。不幸的是,剩下的时间里,三道题没得到一分,而正是从第三道题开始才是分界线。我明显感觉遇到了瓶颈:各种算法都会一点,简单的题都能轻松解决,而难的题
2020-09-16 00:00:34 159
原创 UVa 231 Massage Decoding
我算是发现了,刘汝佳书上的例题一个比一个难,习题就很简单。看书的时候:这题不难嘛,嗯,这个方法不错,蛮简单的。等自己写了:咦?这个怎么处理?这题什么意思来着?(看下书)哇,秒啊!紫书上题意很完整,就不赘述了。这里要遇到的困难就是即使把编码化成了十进制,但编码代表的数字还是很难计算的,刘汝佳老师就用了很巧的方法——我在输入字符串的时候就把字符归好类,在输出的时候,不同长度对应不同的字符组,这样就可以让编码的数值和长度一起确定一个字符;代码#include<iostream>#include
2020-09-15 19:36:09 816
原创 UVa 1339 Ancient Cipher
这题的描述容易让人产生误解,题目的加密方式是按字母表向后移一个,而这里的样例就令人费解。实际上是说是否存在某种映射方式使得第一行的字符串可以是第二行的加密后的文本,这里有两种加密方式,一是字母以某种方式的映射,而是顺序打乱,这题只需要判断是否可以就行,所以我们只需要判断字母个数对没对上(不需要是相同字母)。#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#incl
2020-09-04 00:36:03 154
原创 UVa 489 Hangman Judge
猜字游戏,一共7次机会,有“You win.”、“You lose.”、“You chickened out.” 三种状况,依次是赢了,输了(7次机会用完了),放弃(没用完7次机会就不猜了),这里还规定猜中其中一个字母,凡是出现在该单词里面的这个字母都算被猜中了,而且没有顺序。#include<iostream>#include<cstring>#include<algorithm>#include<map>using namespace std;
2020-09-04 00:22:42 138
原创 UVa 1368 DNA Consensus Strings
这题也是题目吓人,写起来不难,文字一大长串,前面都是没用的话,笑话,在中国DNA早就学烂了,题目就是要找一列中重复次数最多的那个字母,如果重复次数相同,就选字典序最小的。直接用map一直都是WA,检查了好久,都没问题,实在忍不住,就重新来过,用了死办法,一下就A了,玄学。代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<map>
2020-08-28 01:02:40 96
原创 UVa 232 Crosswords Answers
这也算是一道基础题吧,有些人可能会被这么长的一串文字描述给劝退,说实话,刘汝佳紫书里的例题开始会觉得很难,但了解多了算法之后,再回过头来看,也就是题目描述的吓人了一点的入门题。这题要先把每个开头字母给编号,一个字符组存字符,另一个数组存编号就可以解决了。代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<queue>using n
2020-08-26 22:18:45 158
原创 UVa 455 Periodic Strings
找循环节,并不难,但分析的时候不能漏了如果没有循环的情况。另外还是输入输出,两个输入之间有空行,所以最好不要用%c,用%s或者直接用string类,输出是两个输出之间有空行,最后一个输出不能有。代码:#include<iostream>#include<cstdio>#include<cstring>using namespace std;string s;int len;int conting(int x) { //判断是否循环,同时要注意如果它没循
2020-08-24 22:19:45 138
原创 UVa 1225 Digit Counting
这题n是小于10000的; 如果直接打表需要最多:10000 * 9 * 5 = 4.5 * 105的时间消耗 ,所以直接暴力把前面10000项列举出来,代码:#include<iostream>#include<cstdio>#include<cstring>using namespace std;int ans[10010][11];int main() { int t; cin >> t; memset(ans, 0, sizeo
2020-08-24 20:47:32 104
原创 UVa227 Puzzle
UVa上写题,第一次遇到PE,这题解决过程并不复杂,主要考察对输入输出的把控,题目要求两个元素之间要有空格,所以在最后输出的字符多了空格是会报错的,同时要求的是两个答案之间要有空行,如果最后输入结束时多了一个空行则会显示输出格式错误。输入方面,过样例的时候就可以发现,如果它最后一个是空格时是直接回车的,所以里用getchar吸收回车时要避免把下一行的第一个吸掉(可能测试数据是空格不会)代码:#include<bits/stdc++.h>using namespace std;char a
2020-08-24 01:19:30 109
原创 2020暑期训练有感而发
转眼已经过去一个月了,这一个月除了吃饭和睡觉基本都在机房度过,周末也基本无休,一天10个小时的高强度训练,眼睛一刻不停的盯着屏幕,辗转于各个OJ平台、寻找各种题解文章,勉勉强强写了100+题,对于传闻中T神刷过1w+道题只能膜拜;写题是个痛苦与愉快并存的过程,有时知识点不会,你不得不沉下心来看各路大神的解法,理解各种莫名奇妙出现的关系式,这种痛苦在我学数论的时候达到了顶峰,那几天满脑子都是欧拉和欧几里得,各种取模运算,和函数、欧拉函数,一不小心就会搞混。经历完这种接新知识的折磨之后,看到你...
2020-08-17 23:24:25 295
原创 细节之 幸运大奖
这题容易想到用dp去做,如果对移位运算符熟悉的话就不是很难去实现,我也是这么想的,没想到跟它耗了将近两个小时,WA了十几发,差点就砸电脑了,思路完全没问题的,看了好多博客,思路都跟我不一样,我跟它杠上了。最后找到哪里有问题了,真是细节啊!在进行移位的时候,比如:1<<k 时,因为k是小于60的,你就算是long long x = 1<<k; 它也会爆,因为前面的1默认是int !!!细节,无话可说。#include<cstdio>#include<cstrin
2020-08-13 20:50:39 116
原创 HDU 1387(又是一天一题系列)
看了好久好久的题目,没看懂,终于灵光一现,题目意思是有t个队伍,队伍里面的人告诉你了,要开辟一个新队列,如果执行ENQUEUE X的操作,这个队列里面已经有这个小队的成员在里面,就直接插到小队的末尾,如果没有,那就成了这个队列的最后一个,所以第一个插入操作一定是第二种情况,即队列里面没有你的队友,要排在最后一个;...
2020-08-12 21:43:26 189
原创 写题的坑
又是自闭的一天,写题一定要记住,能手动化简就手动化简,化到最简,以防爆long long,还有关于小数点精度的问题,我怀疑出题人在搞我,酸碱滴定,鬼畜的一道题,还是要注重基础,一些比较基础的题目该刷还是要刷,虽然一般不可能在比赛上碰到,但还是需要了解,还是多做题吧,我已经不想说什么了,累了。...
2020-08-11 21:51:03 90
原创 HDU 5698瞬间移动
把可能性列一遍:因为每个格子等于所有前面可能跳跃过去的格子可能性+1再全部相加,1 0 0 0 0 0 0 1 1 1 1 1 0 1 2 3 4 5 0 1 3 6 10 15 0 1 4 10 15 30 0 1 5 15 30 60 看出什么没? 没看出来? 那就把电脑屏幕倾斜过来...
2020-08-11 18:53:27 124
原创 HDU 5525 Product
一开始那个product以为是要求约数和,然后用欧拉猛攻,怎么调都是错的,后面机翻,才发现这是要求约数的积(英语差的后果啊)
2020-08-10 22:38:23 86
原创 2020暑期训练中期总结与反思
转眼暑期训练已经过半了,该教的专题基本已经教了,剩下就是不停的打比赛、做题、做题、打比赛;这么多天训练还是有所收获的,经过那么多次打比赛和做题的经验,ACM的题基本上第一次写都是不会的,不能怕WA,有知识点不会也要去尝试,去提交,不能怕错,这是真理,只有错多了才知道哪里容易出错、才能看懂别人的代码,才能理解知识点,题要多刷,但不能盲目去刷,要规定知识点,一段时间刷一种题,偶尔把经典的题拿出来看看,以前的代码翻出来看看,还有非常非常重要的一件事!!!赛后补题很关键!!比赛时候的脑子会比平常转的更快,比赛...
2020-08-09 19:08:53 190
原创 HDU Problem1452 Happy 2004(费马小定理+逆元)
题目:这题,内容与题目严重不符,说好的happy呢?这道题对初学者一点都不友好,尤其是像我这种没什么知识储备的人,但对于学过数论那就随便过了。分析:题目要先求2004X,再求所得数的约数和,再对29取余。input X非常大,肯定会爆,还要求约数和?怎么办?从后往前走:约数和有公式S=(p10+p11+…+p1k1)(p20+…+p2k2)…(pn0+…+pnkn)(其中p1、p2、……、pn为所求数的质因数,k1、k2…kn是其次数)根据唯一质数分解定理可以把 p 求出来,剩下的就好求了,
2020-07-27 23:14:05 157 1
原创 HDU Problem1002 A+BⅡ的C解决方法
HDU Problem1002 A+BⅡ的C解决方法题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002题目:乍看之下,以为这是一个输出格式稍微有些复杂的A+B problem;但题目细心的指出A和B可能长度不超过1000;所以这题用long long int(263-1)也是远远不够的,最好的方法就是用字符串来代替数字进行运算。增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;增加了
2020-07-16 18:55:19 247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人