![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
补题补题补题
Ch_zaqdt
这个作者很懒,什么都没留下…
展开
-
POJ 1068 Parencodings
暴力模拟题。AC代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std;int pre[10005],a[10005];int n,m,flag;string str;int main(){ cin>>n; while(n--)...原创 2018-04-09 15:28:13 · 116 阅读 · 0 评论 -
POJ 2110 Mountain Walking(bfs+二分)
题意是从地图的左上角走到右下角,求所走的路径中最大值和最小值的差值,输出最小的差值。先用二分去找差值,然后枚举区间,看能不能从左上角走到右下角,最后的下界即为所求。AC代码:#include <iostream>#include <cstdio>#include <cstring>#include <queue>using na...原创 2018-04-09 15:52:06 · 387 阅读 · 0 评论 -
POJ 3041 Asteroids(匈牙利算法)
题意就是有一个地图,然后给你几个点的坐标标记为'x',然后你有一个武器,每次可以消灭一行或一列的'x',问最少需要几次能把所有的'x'消灭完。然后我们可以构建一个二分图,然后这就是一个最小覆盖集问题,最小覆盖数 = 最大匹配数,根据匈牙利算法就能求了。先上代码,以后再补详细的解释。 AC代码:#include <iostream>#include &...原创 2018-04-09 21:08:09 · 167 阅读 · 0 评论 -
Sequence
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2264 这道题只需要把两个数组的差值求出来,然后用kmp去求匹配数就好了。裸的kmp。AC代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std...原创 2018-04-21 23:21:21 · 361 阅读 · 0 评论 -
Words Game
题目链接:https://www.nowcoder.com/acm/contest/107/B 我的思路可能有点麻烦,我先开个数组去存初字符串的各个字母的出现的个数,然后再用一个数组去存下面输入的字符串的各个字母出现的个数,然后遍历下面的字符串,只有当下面的字符串的字母个数都小于等于初字符串的对应字母的出现个数才能讲这个拼出来,然后更新最长串就好了。AC代码:#inclu...原创 2018-04-22 00:10:54 · 172 阅读 · 0 评论 -
Scholarship
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2267 这道题用一个全排列函数,然后加一个判断就可以过了,而且这道题也不需要考虑是否为闰年,因为当年份为闰年的时候只有一种特殊情况就是02月29号,这个可以当作09月22号,所以就可以跳过这个情况了。还有需要注意的是数组需要sort一下,因为当你输入的为98765432的时候,就直接...原创 2018-04-22 00:30:25 · 298 阅读 · 0 评论 -
贪玩蓝月
题目链接:https://www.nowcoder.com/acm/contest/115/A 水题AC代码:#include <iostream>#include <cstring>using namespace std;int main(){ int n; cin>>n; while(n--){ int ...原创 2018-04-22 00:33:49 · 797 阅读 · 0 评论 -
hihoCoder 1687 寻找切线
题目连接: http://hihocoder.com/problemset/problem/1687 思路就是找到一个最右下(左上,右上,左下都可以)的点,然后以这个点遍历其他的每个点,然后找到斜率最大或者最小的那个点就是符合题意的点。用结构体去存坐标和点的编号,然后sort排序,把最右下的点放到第一个,然后从第二个开始遍历就好了。注意在求k值得时候,x1和x2可能相等,然...原创 2018-04-06 16:22:04 · 223 阅读 · 0 评论 -
hihoCoder 1701 挑选子集
题目链接: http://hihocoder.com/problemset/problem/1701 基于桶排序的思想,这道题只用桶不用排序,因为任意两个数之差对k求余都等于0,所以只需要求pre[i]%k的值相等的有多少个,然后对其求组合方案数。AC代码: #include <iostream>#include <cstdio>#inclu...原创 2018-04-06 15:54:19 · 219 阅读 · 0 评论 -
hihoCoder 1700 相似颜色
题目链接: http://hihocoder.com/problemset/problem/1700 这道题也就是题意很不好理解,就是让#abcdef转换成两个字符相连的形式,比如#aabbcc,然后可以简化的输出#abc,题目问的就是找与#abcdef相离最近的#aabbcc这种形式。暴力枚举找最小值就好。AC代码:#include <iostream>...原创 2018-04-06 14:33:34 · 192 阅读 · 0 评论 -
UVa 624 CD(01背包)
题目链接:传送门 做这道题的时候不知道怎么输出路径,然后我就很麻烦的先用01背包把能装下的最大值求出来,然后用这个最大值去用递归输出路线,很麻烦,然后看了别人的代码,发现可以在更新dp[j]的值的时候记录下当前的dp[i][j]。先上之前的我写的递归输出路径的代码:AC代码:#include <iostream>#include <cstdio>#inclu...原创 2018-04-06 16:51:50 · 369 阅读 · 0 评论 -
CodeForces 907B Tic-Tac-Toe
题目链接:http://codeforces.com/problemset/problem/907/B 题意是给你一个9*9的棋盘,这个大棋盘分成了9个3*3的小棋盘,然后输入这个9*9的棋盘,然后输入x,y,看这个x,y在小棋盘中的位置,然后对大棋盘的对应的位置进行操作。看下图。 如果x,y对应的坐标为A的...原创 2018-04-06 17:36:52 · 224 阅读 · 0 评论 -
trade war(水题)
题目连接:http://acm.zzuli.edu.cn/problem.php?id=2260AC代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){ double n,m; double sum = 0; s...原创 2018-04-23 10:03:51 · 287 阅读 · 0 评论 -
flower
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2261 题目说可能有多种情况,但我觉得只能有一种答案,所以我就无视了那句话,思路就是根据三个方程先求出a的值,然后再去用a的值遍历矩阵的第一行求出其他的值。AC代码:#include <iostream>#include <cstdio>#include &l...原创 2018-04-23 14:49:11 · 394 阅读 · 0 评论 -
minval(优先队列)
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2269 思路就是先将两个数组sort一下,然后将a[0]+b[i]入队,然后再去遍历a 1-n,b 0-n的数组,如果a[i]+b[j]小于q.top(),就更新队列里面的数,因为之前已经sort过了,如果a[i]+b[j]大于等于q.top(),那么在b[j]之后的数也不会小于q....原创 2018-04-23 15:20:09 · 315 阅读 · 0 评论 -
牛客练习赛15 吉姆的运算式
题目链接:https://www.nowcoder.com/acm/contest/83/A 这道题就是考察逗号运算符,所以只需要把最后一个出现的数字输出出来就好了。这里我用栈去存最后一个数字,然后输出就好了。AC代码:#include <iostream>#include <cstring>#include <cstdio>#i...原创 2018-04-13 22:38:23 · 156 阅读 · 0 评论 -
牛客练习赛15 沃老师学生的成绩
题目链接:https://www.nowcoder.com/acm/contest/83/B 这道题我当时没看见分数是小于等于10的一个数,然后就想复杂了。其实很简单,输入完成绩后只用判断后面有没有多余的零,所以我们在结构体里定义三个string,一个是名字,一个是输入的分数,还有一个是没有后面多余的零的分数,然后求出最后多余的零,得到没有多余的零的分数的字符串后一个so...原创 2018-04-13 22:44:33 · 223 阅读 · 0 评论 -
HDU 2141 Can you find it? (二分)
暴力的话n^3肯定会超时,如果遍历两个数组,然后二分查找另一个数组也会超时,所以这道题应该先让两个数组相加,然后遍历第三个数组,二分查找这新数组。AC代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespa...原创 2018-04-24 16:55:34 · 185 阅读 · 0 评论 -
时间统计(模拟水题)
题目链接:https://www.nowcoder.com/acm/contest/105/A 模拟题,但是进位需要注意一下。AC代码:#include <iostream>#include <cstdio>#include <cstring>#define ll long longusing namespace std;in...原创 2018-05-02 14:41:02 · 134 阅读 · 0 评论 -
Boom(水题)
题目链接:https://www.nowcoder.com/acm/contest/105/C 有一个需要注意的地方就是边和顶点都不算,所以我们只需要求左闭右开的区间就好了。AC代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std;...原创 2018-05-02 14:46:36 · 216 阅读 · 0 评论 -
吃货(二分)
题目链接:https://www.nowcoder.com/acm/contest/105/E 这道题一眼看上去以为是一道01背包题,然后仔细一看题,发现只需要找出不大于钱数的最大美味度就好了。但是如果直接遍历查找的话会超时,所以需要用二分去查找,还要注意的是可能会有价值相同但美味度不同的情况,所以需要进行一次预处理,让价值相同的值的最后一个的美味度最大(具体看代码)。A...原创 2018-05-02 15:25:14 · 244 阅读 · 0 评论 -
2018年湘潭大学程序设计竞赛 D.Fibonacci进制
题目链接:https://www.nowcoder.com/acm/contest/105/D 这道题如果单纯用搜索的话会TLE,可以换一种方法,因为要找的是组成的二进制数最小的十进制(尽量让最高位尽量小),首先在初始化的时候求出这个数列的前缀和,然后找到第一个大于等于m的前缀和的位置,则这个位置的斐波那契值肯定是可以取的,标记二进制数的这个位置为1,不好理解,结合代码想...原创 2018-05-02 17:39:34 · 236 阅读 · 0 评论 -
2018年湘潭大学程序设计竞赛 H.统计颜色(结构体+vector)
题目链接:https://www.nowcoder.com/acm/contest/105/H 这道题是一道裸的线段树的题,但我还不会线段树....但是还有另外一种方法,就是用结构体+vector去存每种球的l和r区间,然后遍历每个种类的球在所给的区间里不同球的个数。感觉这种方法很巧妙,需要注意的是结构体开大点,卡65都会段错误,还有就是在ans++后就说明这个种类的球已经...原创 2018-05-02 18:22:31 · 173 阅读 · 0 评论 -
第十四届华中科技大学程序设计竞赛 C.Professional Manager(并查集操作)
题目链接:https://www.nowcoder.com/acm/contest/106/C 题意是有一堆树,当你输入1的时候,将a,b森林合并起来,输入2的时候,将a这棵树从当前森林中分离出来,输入3的时候,查询a所在的森林里有多少棵树,输入为4的时候,判断a和b是否属于同一片森林。因为涉及到了并查集的删除操作,所以需要另外开辟辅助数组,然后需要注意的是,当查询一片森林...原创 2018-05-09 16:18:47 · 226 阅读 · 0 评论 -
2018年湘潭大学程序设计竞赛 F.maze(优先队列搜索)
题目链接:https://www.nowcoder.com/acm/contest/105/F 刚开始以为直接用bfs就可以过了,但是不用优先队列的话只能过33.3%的样例,因为有的步数花费1秒,有的花费3秒,所以需要用优先队列取出花费时间最少的点,然后用了优先队列发现过了66.7%,然后看了别人的博客才知道,因为每个点放入队列里并不一定先走,也不一定是步数最少的点,所以...原创 2018-05-03 09:23:28 · 250 阅读 · 0 评论 -
牛客练习赛16 B.漂亮的树(思维)
题目链接:https://www.nowcoder.com/acm/contest/84/B 这道题我第一次写的时候,我的想法是正着去模拟遍历最小的变动次数,最后没写出来,好像这个思路不太对。正确的方法是反向去思考,我们先得到一个初始化为题目要求的pre数组,为了解释的清楚一点(这里描述的和代码不太一样),在ans数组里输入n个数,然后我们需要求出对应的第i个数的ans[...原创 2018-05-03 11:00:41 · 141 阅读 · 0 评论 -
NYOJ 117 求逆序数(归并排序)
这道题如果直接遍历查找的话肯定会超时,所以要用归并排序去写,其实也就是归并排序的模板,只是多了一行代码。还有就是需要开long longAC代码:#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm...原创 2018-05-09 20:25:33 · 205 阅读 · 0 评论 -
UVa 401 Palindromes(紫书习题--回文词)
题目链接:UVa 401 这是紫书上面的一道习题,题意就是求这个字符串是回文串还是镜像串,根据那个图打个表,第一次做没想到要这么做,很高端。AC代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std;const char* rev ...原创 2018-04-25 15:24:24 · 248 阅读 · 0 评论 -
牛客小白月赛3 B.躲藏(动态规划)
题目链接:https://www.nowcoder.com/acm/contest/87/B 第一眼看以为是kmp,然后仔细一看是子序列,再看数据范围,暴力的话肯定会超时,所以这道题需要用动态规划来写,令 f[i][j],(j = 1,2,3,4) 表示前 i 个字符中,匹配了字符串”cwbc” 的前多少位,那么有转移方程: f[i][1] = (f[i−...原创 2018-05-14 15:37:14 · 403 阅读 · 0 评论 -
北京信息科技大学第十届程序设计竞赛 H.程序员的好印象(动态规划)
题目链接:https://www.nowcoder.com/acm/contest/118/H读懂题意就很好写了,就是求最长单调不减子序列。把LIS改个符号就行了,不会的可以看下这篇博客传送门,有二分优化写法。AC代码:#include <iostream>#include <cstdio>#include <cstring>#define Max(a,b...原创 2018-05-14 16:01:08 · 275 阅读 · 0 评论 -
2018EOJ校赛 A. 浮点数模运算(精度)
题目链接:https://acm.ecnu.edu.cn/contest/73/problem/A/ 这道题感觉很巧妙,用java的话挺好写的,但是需要用BigDecimal去写,也没有保留小数就能AC了。然后用C++的话,就是先输入两个字符串,然后把这两个字符串转换成long long型,然后进行取模运算,最后再转成字符串输出,虽然不知道这么写出来的结果对不对,但是能A...原创 2018-05-14 17:34:16 · 404 阅读 · 0 评论 -
牛客练习赛16 C.任意点(思维)
题目链接:https://www.nowcoder.com/acm/contest/84/C 任意两个点要是在同一行或者同一列的话不需要另外的点就能到,不同行且不同列的点只需要一个点,所以我的写法就是先按行排序,然后看需要加多少个点,然后这些点会包括列相同的点,所以再按列排序,减去这些列相同的点就好了。AC代码:#include <iostream>#inc...原创 2018-05-08 09:02:59 · 194 阅读 · 0 评论 -
牛客练习赛16 A.字典序最大的子序列(思维)
题目链接:https://www.nowcoder.com/acm/contest/84/A 思路就是既然要找字典序最大的子序列,那就是将最大的先存起来,然后我们如果直接去找最大的字符不好确定它的位置,所以我们需要反着去找,因为最后一个字符肯定是要存起来的,然后再从后往前遍历,将大于等于前一个字符的都存起来就好了。AC代码:#include <iostream>...原创 2018-05-08 09:07:22 · 242 阅读 · 0 评论 -
第十四届华中科技大学程序设计竞赛决赛 F.Beautiful Land(01背包变形)
题目链接:https://www.nowcoder.com/acm/contest/119/F 题意是有T组数据,然后输入n,m,表示有n种树,最大容量是m,然后n行输入每种树的花费和价值,问能得到的最大价值,看一眼数据范围就知道不是简单的裸的01背包了,这种题之前也见过好多次,需要把最小容量最大价值的问题转换成按照价值去求最小花费。AC代码:#include <io...原创 2018-05-14 20:27:27 · 182 阅读 · 0 评论 -
牛客练习赛16 F.选值(二分+组合数)
题目链接:https://www.nowcoder.com/acm/contest/84/F 因为题目要求最大值减去最小值的差要小于等于d,所以我们从i=2开始遍历数组,以当前的pre[i]为最大值,然后二分去查找一个最小值,然后判断两者之间的长度是否不相邻,不相邻的话用组合数求出从中选取两个数的方案数。AC代码:#include <iostream>#in...原创 2018-05-08 10:09:41 · 220 阅读 · 0 评论 -
第十四届华中科技大学程序设计竞赛 J.Various Tree(搜索)
题目链接:https://www.nowcoder.com/acm/contest/106/J题意就是给你两个数a,b,然后a每次可以加1减1或者加f(x)减f(x),f(x)的值就是x的二进制的1的个数,问a最少需要变换多少次才能变成b。直接用bfs就能做了,二进制的话用bitset会方便一点,剩下就看代码吧。AC代码:#include <iostream>#include <...原创 2018-05-08 10:27:59 · 179 阅读 · 0 评论 -
第十四届华中科技大学程序设计竞赛 K.Walking in the forest(二分+最小化最大值)
题目连接:https://www.nowcoder.com/acm/contest/106/K 题意是有n块石头,然后给你了他们相邻石头之间的距离,然后问在不超过k步的情况下,他能跳的最大距离的最小值。这道题要用二分去做,二分的话就是求什么就去二分什么,所以这道题我们二分所跳的最大距离,然后判断这个值是否可行,可行的话再减小这个值,否则增大这个值。判断的话,如果二分的这个...原创 2018-05-08 11:45:33 · 177 阅读 · 0 评论 -
第十四届华中科技大学程序设计竞赛 F.Sorting Trees(思维)
题目链接:https://www.nowcoder.com/acm/contest/106/F 题意是他给了你一个错误的冒泡排序,然后让你按这个排一下,然后找第一个和正确的冒泡排序不一样的数的位置。思路是暴力,但是会发现超时了,仔细看一下他给的冒泡,其实不需要遍历第一层for循环,所以优化一下就好了,还有就是要注意k等于1的情况。AC代码:#include <ios...原创 2018-05-08 15:38:20 · 196 阅读 · 0 评论 -
2018年北京信息科技大学第十届程序设计竞赛 A.PUBG(两种方法)
题目链接:https://www.nowcoder.com/acm/contest/118/A这道题有两种解法,一是直接用优先队列去写,二是bfs+松弛操作。第一种就是简单的优先队列实现,第二种需要注意起点和终点的负数需要改成0,因为只能操作非负数,而且不需要判断终点的结束条件。优先队列:#include <iostream>#include <cstdio>#incl...原创 2018-05-08 19:40:01 · 428 阅读 · 0 评论 -
Wannafly挑战赛15 A.最小化价格(贪心+优先队列)
题目链接:https://www.nowcoder.com/acm/contest/112/A 这道题当时没有做出来,一直没思路,感觉怎么排序都不对。首先需要对队伍的人数和宾馆的容纳人数从大到小排序,然后从大到小遍历每个队伍,将所有宾馆容纳数大于等于该队伍的人数的话就入队,然后根据优先队列对价格从小到大排序,对于一个队伍,从队列中取出价格最小的。因为是从大到小遍历的,所以...原创 2018-05-15 20:22:46 · 146 阅读 · 0 评论