![](https://img-blog.csdnimg.cn/20190916195416272.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ACM
最美的遗憾
Ryanw丶
.
展开
-
Four Operations HDU - 5938 贪心+模拟
题目链接题意:给定一个全是数字(只包含1-9)的字符串(长度5到20),按照顺序插入±*/四个运算符,求最大的计算结果。有T组询问(1<=t<=100000)。如果直接暴力会超时,在长度为20的字符串中有顺序插入4个运算符,20 * 19 * 18 * 17种情况,约为204种情况。分析得到计算的形式总是a + b - c * d / e,要获取最大的结果,就要使a b e尽可能...原创 2020-03-21 10:35:08 · 332 阅读 · 0 评论 -
POJ - 1029 False Coin模拟
题目链接给你n个硬币,硬币的编号从1到n,n个硬币中有一个硬币是假的,他的重量与真硬币的质量不一样,或重或轻,真硬币的重量都相同。给你k组测量结果,判断是否能找出假硬币。每组结果分为2行,第一行第一个数字代表秤盘左右硬币的个数m,前m个表示左秤盘的硬币编号,后m个表示右秤盘的硬币数量,第二行是测量结果(= < >)三者之一。判断k组结果能否找出假硬币,能输出硬币的编号,否则输出0。...原创 2020-03-20 11:29:20 · 352 阅读 · 0 评论 -
整数的拆分 ECNU-1009. 整数的拆分 dp
问一个正整数拆分的方案有多少种,这里采用二维dp的方式。dp[i][j]=以最大划分数j划分整数i的方案。我们可以很容易想到,被划分数为1时只有一种/最大划分数为1时也只有一种方案dp[i][1] = dp[1][i] = 1;如果j>i,那么仍以i为最大划分数,也就是dp[i][j] = dp[i][i];否则就是常规情况,可以以j为最大划分数/不以j为最大划分数,dp[i][...原创 2019-08-25 20:54:38 · 838 阅读 · 0 评论 -
Ignatius and the Princess I HDU - 1026 BFS+优先队列+记录路径
求迷宫最短路径长度和路径。由于有些点会停留打怪,需要多增加停留的时间,而不只是加1。由于队列中每一个扩展点的权重不一样,所以不能按平常的BFS解题。这里采用优先队列,权重大也就是耗时耗路径少的点优先出队。题目还有一个难点就是最短路径。由于BFS就是查找最短路径,所以出列的点构成的路径就是最短路径,我们需要记录每一个点的前驱点/后继点。如果从起点开始搜索到终点,那么记录每个点的后继点;如果从终点开始...原创 2019-08-16 11:21:38 · 247 阅读 · 0 评论 -
连连看 HDU - 1175 BFS+路径方向
连连看不考虑外连,内部连线。好比迷宫搜索路径采用BFS解题。由于一开始没看转弯次数超过两次这个细节,很快WA了。后来看了他人的题解,可以采用4个方向每次记录当前方向,如果和上次方向不同那么就是转弯了,也就是记录方向和转弯数。代码实现就是向struct node中添加方向dir和转弯数num。然后在搜索中注意问题的处理即可。 由于第一步的方向不算转弯,所以step初始值为-1#include &...原创 2019-08-20 21:32:33 · 296 阅读 · 0 评论 -
Nightmare HDU-1072 BFS
迷宫有炸弹,爆炸时间6分钟,迷宫中有炸弹重置器,判断是否能逃出迷宫(若能逃出输出最短路)。与传统迷宫不同,设置了逃出时间和延长弹出时间的点。依旧采用BFS最短路径搜索,每遇到炸弹重置器,重置时间,并不再访问该点,毫无疑问炸弹无须访问第二次,会做无用功浪费时间。#include <iostream>#include <queue>using namespace std...原创 2019-08-20 19:42:52 · 238 阅读 · 0 评论 -
Updating a Dictionary UVA - 12504 map+vector+string
STL训练题。检查两个字典的变动,看起来很复杂,需要耐心分析。从string中获取map数据,再对两个map进行分析,使用vector承接改动。#include <map>#include <vector>#include <string>#include <iostream>#include <algorithm>using...原创 2019-08-10 22:35:25 · 201 阅读 · 0 评论 -
Flooded! UVA - 815 排序+思维
将洪水从海拔低到高淹没格子中,求海拔和格子被淹没的比例。首先排序方法一:直接法。从低到高填格子,直到洪水没有,或者填满所有格子为止。方法二:思维法。计算把所有洪水放在一个格子(包括该格子之前的格子),检查形成的平均海拔与下一个格子的海拔比较。假设给出一组数据2 25 32 81000排序之后海拔为2 3 5 8 ,计算把所有洪水放在一个格子里形成的高度和下一个格子比较。我们形成...原创 2019-08-09 11:33:32 · 268 阅读 · 0 评论 -
Repeating Decimals UVA - 202 手算除法模拟
模拟手算计算小数循环部分,长除法的使用例如3 / 73 / 7 = 0 … 330 / 7 = 4 … 220 / 7 = 2 … 440 / 7 = 5 … 550 / 7 = 7 … 110 / 7 = 1 … 330 / 7 = 4 … 2可以看到,已经出现循环0.(42571)。每一次的除法时都有被除数和余数,当除数重复出现时就表示出现循环节。如果除数出现第二次,例如上...原创 2019-08-06 19:24:30 · 251 阅读 · 0 评论 -
Morse Mismatches UVA - 508 map+前缀字符串
建立字符到对应Morse密码的映射map1。每输入一个单词,通过map1将每一个字符翻译成Morse密码,建立所有密码到对应单词的映射map2。对应输入的Morse密码M,在map2中查找是否有该密码和对应单词,单词数大于1多输出一个"!"。不存在对应,查找符合条件的增删Morse密码。在M的基础上增加或者删除和已知map密码相同,那么M不正是map密码的前缀,或者相反。找到增删密码长度差最小...原创 2019-08-08 22:01:21 · 211 阅读 · 0 评论 -
Tempter of the Bone HDU - 1010 DFS+剪枝
求迷宫中是否有路径长为t的起点到终点的路径。一开始没有看清题意,以为是否有t长度内的路径,直接想到最短路径BFS。BFS适合解决的问题类型结点A出发到结点B是否有解?结点A出发到结点B的路径哪条最短?(最短路)然而很快WA了。此题不能使用BFS,因为是求是否有路径长为t的解。用BFS无法深入每一条路径。接着,我想想到BFS,深搜每一条路径,并记录路径长度再与t进行比较。没有剪枝的暴力...原创 2019-08-13 15:39:41 · 245 阅读 · 0 评论 -
Codeforces Round #575 (Div. 3) 1196C. Robot Breakout 数学思维
C. Robot Breakouttime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputn robots have escaped from your laboratory! You have to find them as soon as...原创 2019-08-02 10:38:37 · 235 阅读 · 0 评论 -
Codeforces Round #575 (Div. 3) 1196B. Odd Sum Segments 数学思维
B. Odd Sum Segmentstime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array a consisting of n integers a1,a2,…,an. You want to ...原创 2019-08-02 09:28:37 · 233 阅读 · 0 评论 -
Codeforces Round #576 (Div. 1) 1198A.MP3 sort+尺取
A. MP3time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputOne common way of digitalizing sound is to record sound intensity at particular time mom...原创 2019-08-01 12:33:01 · 361 阅读 · 0 评论 -
Codeforces Round #577 (Div. 2) 1201C Maximum Median 前缀和/二分答案
解法一:前缀和+模拟求增加k之后的最大中位数,必定是在后半段区间进行操作。我们可以很容易想到,先将中间数增大,然后再对后半段区间进行操作使中间数还是中位数,而使an/2还是中位数的话,后面的数仍是升序。a(n/2)增加到a(n/2)+1,总共需要加(a(n/2)+1-a(n/2)) ×\times× 1a(n/2)增加到a(n/2)+2,总共需要加(a(n/2)+1-a(n/2)) ×\ti...原创 2019-08-05 15:32:06 · 254 阅读 · 0 评论 -
尺取法
尺取法尺取法:适用求连续区间满足条件的最小区间,时间复杂度O(n)。延伸右区间,满足条件缩短左区间,得到符合条件的答案(不是最终结果),筛选答案例题一尺取题目一DescriptionA sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and ...原创 2019-08-01 10:18:01 · 268 阅读 · 0 评论