题目传送门 这题我们很容易想到直接枚举即可.算法本身并没有什么难度但是细节超多!于是这题整整卡了一天....... (不,还是我太弱了.) 期间还暴露出一些平时没有特别注意的问题,这次一起解决. 开始想的是枚举每个长度的串,然后把这个二进制转为十进制的哈希值,用桶来记录一下.但很快就会发现,可能有很多个前导0.譬如说01与001与0001都是不一样的. 那么我们怎么做呢?可以用map映射.也不要转什么哈希值了,直接建立从string到int的映射.(建立方法:如果在map表中出现,对应的桶直接计…
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1846 题意 n个数字按照字符串方式直接组合成大数字,问最大组合成多少 思路 排序 感想 1. 因为脑洞的原因以为只要把所有数的数位填到一样长就好了,比如27,273,72,723把27填到272,72填到727,就能把它们顺利排出来.结果这样无法区别345, 3453这种情况和543…
题目传送门 因为太蒟了,所以参考了dalao@zbtrs ==    对此表示感谢并侵删. 看起来我们就知道这是搜索题. 最后的情况分两种:有骑士背国王/国王自食其力走到集合点. 首先,我们不知道大家最后集合在哪里,所以可以枚举一下这个点. 其次,我们不知道是哪个骑士背,所以再枚举一下. 再次,我们不知道在哪里接国王,所以再枚举一下这个点. 这是思路的大体框架.然后在更新答案时,我们需要求出在棋盘上一个点到另一点的最短距离.然后因为我们可以等效的认为这是一个无向无环图,所以直接用bfs顺便跑出最…
题目传送门 一句话题意:求长度为n的有m个1的大小为第k个的01串. 暑假我做的时候是真·大暴力,用二进制枚举,55分,成功T掉无数点. 正解:开始可以用计数类dp来“预处理”,状态和转移都比较好想. 状态:设f[i][j]表示i位二进制数,1的个数不超过j的种类数. 转移:f[i][j]=f[i-1][j]+f[i-1][j-1] (当前位取0或1) 初值:f[i][0]=0,f[0][i]=0; 然后?我们尝试倒序枚举答案.我们知道在二进制中最高位为1时一定比最高位为0的情况大,所以我们在尝…
题目传送门 一股浓浓的博弈论香气...然而本蒟并不会博弈论. 开始用双端队列+假的dp水过了24pts水数据. 其实是布星的,两人都绝顶聪明会深谋远虑不像我只看眼前,所以上述算法错误. 正解:区间dp.决策有两种:从右边取或是左边.而且答案是由小部分一步步推到大部分的,所以区间dp再适合不过啦. 状态:如常.$f[i][j]$表示拿从i到j玩家1得到的最大得分. 转移方程:$f[i][j]=max(sub[j]-sub[i-1]-f[i][j-1],sub[j]-sub[i-1]-f[i+1][…
题目传送门 由于满足游览先后顺序从西到东的性质,我们很自然的想到用拓扑排序处理出一个合理的游览顺序. 然鹅,之后呢? 事实上,拓扑排序常与Dp相结合,解决后效性.我们就可以在每次拓扑入队的时候更新答案,设f[i]表示终点为i能经过的最多城市数.则f[j]=max(f[j],f[i]+1). *Update 思考的时候,没想到dp qwq. 知道要用dp后就想了很久,想出了记录前驱的方法,但是不太对.(挖坑) code #include<cstdio> #include<algorithm…
算法笔记(c++)--桶排序 记得题目是排序,输入n个1-1000的数字然后去重然后排序. 桶排序没毛病 #include<iostream> using namespace std; int main() { int N,n; cin>>N; ]=; while(N--) { cin>>n; a[n]=; } ; } 这样输入的同时就排序好了,到时候 if(a[i]==1) cout<<a[i] 就可以打印出排序好的内容了…
USACO 2013 NOV SILVER 一.题目概览 中文题目名称 未有的奶牛 拥挤的奶牛 弹簧牛 英文题目名称 nocow crowded pogocow 可执行文件名 nocow crowded pogocow 输入文件名 nocow.in crowded.in pogocow.in 输出文件名 nocow.out crowded.out pogocow.out 每个测试点时限 1秒 1秒 1秒 测试点数目 10 10 10 每个测试点分值 10 10 10 比较方式 全文比较 全文比较…
USACO 2014 FEB SILVER 一.题目概览 中文题目名称 自动打字 路障 神秘代码 英文题目名称 auto rblock scode 可执行文件名 auto rblock scode 输入文件名 auto.in rblock.in scode.in 输出文件名 auto.out rblock.out scode.out 每个测试点时限 1秒 1秒 1秒 测试点数目 10 10 10 每个测试点分值 10 10 10 比较方式 全文比较 全文比较 全文比较 二.运行内存限制 运行内存…
题目:[USACO Jan07] 均衡队形 描述: 题目描述 农夫约翰的 N (1 ≤ N ≤ 50,000) 头奶牛,每天挤奶时总会按同样的顺序站好.一日,农夫约翰决定为奶牛们举行一个“终极飞盘”比赛.为简化问题,他将从奶牛队列中选出一个连续区间来进行游戏.不过,参加游戏的奶牛要玩的开心的话就不能在身高上差距太大. 农夫约翰制定了 Q (1 ≤ Q ≤ 200,000) 个预定的参赛组,给出它们的身高 (1 ≤ 身高 ≤ 1,000,000).对每个参赛组,他需要你帮助确定组中最高牛和最低牛的…