
其他oj
文章平均质量分 58
Flynn_curry
这个作者很懒,什么都没留下…
展开
-
pat1146 Topological Order (拓扑排序)
题目链接:click here思路:拓扑排序弱化版,甚至连拓扑序列都不用求,话说和拓扑排序相关的题目都很水啊。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#incl...原创 2020-04-13 13:32:57 · 314 阅读 · 0 评论 -
牛客oj 习题11.6最短路径(并查集+Dijkstra+大数加乘比较)
题目链接:click here题意:中问题,数据非常大思路:(1)、由于后输入的边一定要大于之前所有边的总和,所以用并查集解决多余边问题,若输入边的两点不在同一集合,则合并,代表这个集合内的边都是尽可能小的边,若输入边的两点已经在同一集合,则将边舍弃;(2)、使用Dijkstra算法解决最短路问题,由于输入数据太庞大,所以用字符串存储以及运算,这里用到了大数加法、乘法、...原创 2020-04-13 11:33:28 · 468 阅读 · 0 评论 -
牛客oj 习题11.4Freckles(Kruskal)&&习题11.5Jungle Roads(Kruskal)
题目链接:click here思路:最小生成树模板题,输入的点处理成边即可。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <vector>...原创 2020-04-11 12:28:50 · 361 阅读 · 1 评论 -
牛客oj 习题11.3 || pat1034 Head of a Gang(带权值的并查集+嵌套map+set)
题目链接:click here题目大意:如王道书中所言,找团伙头头和他的人数。思路:这题与其说是并查集,不如说是对字符串的处理。由于将输入的字符串转化为对应点再进行并查集,并查集后再用输出字符串和与其相关的数,所以我这里用了3个map和1个set。。其中还有一个嵌套map,很少这么玩。。整体思路是这样子:并查集部分是按节点权重关系合并集合。1、先将边存入结构体;2、再将节...原创 2020-04-10 20:55:55 · 248 阅读 · 0 评论 -
牛客oj 习题11.2 第一题(并查集+set)
题目链接:click here思路:挺抽象的一道题,他没说有多少个节点,只给出道路以及其相连的点,那所有的节点就是已知道路对应的节点总和。这里用set存储最合适,因为要去重。剩下就是标准的并查集了。另外这题没给出数据范围,那么久老规矩100w。#include <cstdio>#include <iostream>#include &l...原创 2020-04-10 10:31:02 · 236 阅读 · 0 评论 -
牛客oj 习题11.1 找出直系亲属(前驱记录)
题目链接:https://www.nowcoder.com/practice/2c958d09d29f46798696f15ae7c9703b?tpId=40&tqId=21453&tPage=1&rp=1&ru=/ta/kaoyan&qru=/ta/kaoyan/question-ranking思路:其实我不是很懂为什么要把这题和并查集扯上关系,...原创 2020-04-09 20:56:04 · 253 阅读 · 0 评论 -
牛客oj 习题11.7||poj 3767 I Wanna Go Home(最短路+有向边处理)
题目链接:https://www.nowcoder.com/practice/0160bab3ce5d4ae0bb99dc605601e971?tpId=40&tqId=21359&tPage=1&rp=1&ru=/ta/kaoyan&qru=/ta/kaoyan/question-ranking题目大意:给你1~N的城市和城市之间的距离,且...原创 2020-04-09 16:57:28 · 277 阅读 · 0 评论 -
牛客oj 习题10.4统计同成绩学生人数(map)&& 习题10.5关门人和开门人(map)
map的操作一定要熟悉!!!#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <vector>#include <queue>#...原创 2020-03-22 20:17:51 · 267 阅读 · 0 评论 -
牛客oj 习题10.2 查找第K小数(set)&& 习题10.3 搬水果(哈夫曼树)
本来以为用set做就够烦了,后来想想最简的打表也并不清爽,心里有点平衡。。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <vector>#...原创 2020-03-22 17:42:50 · 274 阅读 · 0 评论 -
牛客oj 习题9.3 八皇后(N皇后问题)&& 习题10.6 谁是你的潜在朋友(map)
N皇后模板题,顺便复习一下N皇后:首先给出三个数组,列数组,主对角线数组,副对角线数组,代表行/对角线是否被占用。因为每一行只能放一个元素,所以每遍历一次如果他可以放(即对应列和两个对角线上都没皇后)就标记一个,代表这个元素放置后他的列以及对角线都被占用,如此不断递归即得答案。PS:这题输入样例又有问题,没有Case。#include <cstdio...原创 2020-03-18 16:49:41 · 305 阅读 · 0 评论 -
牛客oj 习题9.1 玛雅人的密码(BFS)
BFS大水题。由于有两个2、一个1、一个0的字符串中经过有限次移位后必定会得到2012,所以只有这些元素不够的情况会出现解不开密码。剩下的也没什么好说的,就是移位后判断如果没有2012就入队。#include <cstdio>#include <iostream>#include <algorithm>#include <...原创 2020-03-13 20:32:53 · 264 阅读 · 0 评论 -
牛客oj 习题8.3 2的幂次方(DFS)
挺不错的递归题,给出一个数,将他拆成只有0~2次幂的形式。把一个数拆成2的幂次的形式,这不就是我们熟悉的二进制吗!所以本题思路就是先将一个数转化成二进制形式,顺序处理二进制数位,如果位数大于等于3,那么继续拆(即转成二进制);如果位数小于等于3,那么做出相应输出。最后再去个头尾,搞定。PS:这种题只要能写出来就肯定会通过的吧。。#include <cstdi...原创 2020-03-13 17:53:26 · 358 阅读 · 0 评论 -
牛客oj 习题8.1杨辉三角形(DFS)&&习题8.2全排列(DFS)
我比较笨,没想出讨论中绝大部分人的做法,不过还是把他A了。用容器模拟了DFS做出来,话说刚开始以为这题输出有问题,因为相当于杨辉三角形砍了个头。话说讨论里那种做法也挺神奇,直接处理编号,我还以为起码要处理个数组啥的。。。另外这题注意c++中临时变量不能作为非const的引用参数,也就是引用传参只能传一个确定参数,不能传一个或多个变量的表达式。#include ...原创 2020-03-13 09:35:22 · 326 阅读 · 0 评论 -
牛客oj 习题7.2 To Fill or Not to Fill(经典贪心)
这题和上一题相似,都是选出当前最佳步数,但策略要更加复杂。我这里把加油站分成了两类:第一类继承者:价钱比当前油价钱便宜或相等,离得最近。第二类继承者:无第一类继承者的情况下,剩下的油都比第一类贵,从贵的中找出一个相对便宜的。贪心策略:1.先把所有加油站按距离排个序。2.从中找出第一类继承者和第二类继承者(若无第一类)。3.如果无第一类继承者且安全范围内到达终点,直接加上...原创 2020-03-11 20:09:28 · 587 阅读 · 0 评论 -
牛客oj 习题7.1代理服务器(经典贪心)
经典贪心问题,刚开始怎么也看不懂题,寻思着要想切换次数尽可能少,直接找个和所有服务器都不相同的代理服务器或者找个最迟出现的和代理服务器相同的服务器不就好了。。想了很久才意识到这个最迟出现的代理服务器相同的服务器可以多次出现,这样在切换这个最迟服务器之前(要想抵达这里代理服务器ip必须和这个服务器相同)前面由于也是同名代理服务器所以必定会卡死,所以要考虑到要访问服务器出现多次的情况。...原创 2020-03-10 09:45:41 · 392 阅读 · 0 评论 -
牛客oj 习题6.12数字阶梯求和(大数相加)&&习题6.13大整数的因子(大数相除)
本来想用java干掉的,结果java实在是不懂,那只好继续c++处理字符串了,反正也不难,就是有点烦。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include &l...原创 2020-03-09 14:06:46 · 315 阅读 · 0 评论 -
牛客oj 习题6.10 A+B for Matrixs(矩阵相加)&&习题6.11递推数列
练这题主要是为了练习参数初始化表定义法。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <vector>#include <stack...原创 2020-03-09 11:39:41 · 275 阅读 · 0 评论 -
习题6.8 整除问题(分解质因数)
很好的一道题。由于n最大1000,1000的阶乘过于大,故直接计算出来再判断整除次数肯定是不行。于是就想到了把n和a都分解质因数,幂次分别保留在不同数组中,针对a的质因数找出n和a这些质因数的幂次,看整体上n的幂次为a的幂次的多少倍。具体来说这些质因数中n的幂次都是a的幂次的倍数,找出最小的倍数即可满足。#include <cstdio>#include ...原创 2020-03-09 10:51:21 · 440 阅读 · 0 评论 -
牛客oj 习题6.7约数的个数(分解质因数)&&hdu1492 The number of divisors(约数) about Humble Numbers
这题用分解质因数方法做,求约数个数加一的时候最后的特例忘了加一,直接导致犯了一堆智障错误,现在想想好简单一道题。。。还特地用了后面那道杭电题验证。。等等,那个题因为质因子数少不需要特例。。。T T#include <cstdio>#include <iostream>#include <algorithm>#include <...原创 2020-03-08 21:48:54 · 338 阅读 · 0 评论 -
牛客oj 习题6.5最简真分数(GCD)&&习题6.6Prime Number(素数筛)
最简真分数就是分子小于分母且分子分母的最大公约数为1(即无除了1以外的公约数)。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <vector...原创 2020-03-08 11:53:20 · 381 阅读 · 0 评论 -
牛客oj 习题6.3进制转换&&习题6.4数值转换
十进制转别的模除,别的转十进制乘加。记住了。另外这题还是不严谨,没说明字符串几位,多了就得大数处理了。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include ...原创 2020-03-07 21:28:33 · 300 阅读 · 0 评论 -
牛客oj 习题6.1八进制&&习题6.2又一版A+B(进制转换)
送分题,不过string的reverse方法真好用。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <vector>#include ...原创 2020-03-07 20:33:11 · 288 阅读 · 0 评论 -
牛客oj 习题5.1堆栈的使用&&习题5.2计算表达式(逆波兰)
送分题。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <vector>#include <stack>#include &l...原创 2020-03-07 10:53:19 · 286 阅读 · 0 评论 -
牛客oj 习题4.7String Matching(KMP)&&习题4.6字符串匹配
练KMP我认为没什么技巧,背代码就完事了。我的口诀:(仅限于自己理解)(1)、先回溯主串后回溯子串,回溯哪个哪个为负一;(2)、推nextTable时拿子串对应的下标开刀。PS:这题把nextTable数组换成next数组居然有歧义,这辣鸡编译器居然还会把next数组设成关键字,第一次碰到这种错害得我检查了一个小时,真是绝了。#include <cstdi...原创 2020-03-06 19:33:59 · 375 阅读 · 0 评论 -
牛客oj 习题4.4浮点数加法(大数相加)&&习题4.5后缀子串排序(Map)
太长时间不写大数了,练大数是练习字符串操作最好的方法。这种题最重要的就是细心。我的思路是先把大数字拆成整数部分和小数部分,然后将整数部分和小数部分按位数多少找出长串和短串,然后把短串加到长串上去,用进位符carry模拟进位操作。最后再把小数部分删掉。总体来说挺麻烦的,比赛或考试时候用java就可以了。#include <cstdio>#include...原创 2020-03-02 12:40:24 · 448 阅读 · 0 评论 -
牛客oj 习题4.2单词替换&&习题4.3首字母大写(字符串的处理)
牛客真辣鸡,测试用例错了几年了也不知道改,白白浪费玩家时间。不过说起来,这题还挺有意思,主要就是对练习stl的使用。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#inc...原创 2020-03-01 20:07:03 · 305 阅读 · 0 评论 -
牛客oj 习题3.4奥运排序问题(较复杂的结构体排序)
没想到浙大会出来这么不严谨的题,数据量是多少都没给,遇到这种情况给个十万应付一下就好了。整体思路没什么问题,就是对输入的数据中拿出部分分别对他们排序,然后再遍历找出名次,不要怕麻烦就好。1A。#include <cstdio>#include <iostream>#include <algorithm>#include <...原创 2020-03-01 12:15:28 · 365 阅读 · 0 评论 -
牛客oj 习题3.6打印极值点坐标&&习题3.7找位置(本题好题)
这题样例一开始有个案例个数可是题目输入中却未说明,结果按输入格式为主,样例是错的,害我白白WA了一次。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <m...原创 2020-02-19 10:20:20 · 280 阅读 · 0 评论 -
牛客oj 习题3.3小白鼠排队&&习题3.5找最小数
结构体排序的两道送分题,无需多言。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <map>#include <cmath>#inc...原创 2020-02-18 20:58:30 · 257 阅读 · 0 评论 -
牛客oj 习题3.1特殊排序&&习题3.2整数奇偶排序
两道送分题,不多说。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <map>#include <cmath>#include &l...原创 2020-02-18 20:11:33 · 259 阅读 · 0 评论 -
牛客oj 习题2.9Grading&&习题4.1skew数
本题为送分题。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <map>#include <cmath>using namespa...原创 2020-02-18 11:03:50 · 238 阅读 · 0 评论 -
PAT1030 完美数列(记忆化优化)
先上题链接:click here这题刚开始一看排序后无非就是对首部和尾部两种状态的操作,于是果断来一发dfs,然后就各种超时,即使是优化到以下代码这种优化到极致的代码,依然超时,卡在第四个测试点。然后一看N最大为100000,那么用dfs时间复杂度为2^50000,不超时就有了鬼了。。。#include <cstdio>#include <iostre...原创 2020-02-18 09:57:23 · 248 阅读 · 0 评论 -
牛客oj 习题2.7Day Of Week&&习题2.8日期类(Map)
这题必须清楚第一个星期一是0001年1月1号,所以求星期几就是从0001年1月1号到当前日期再%7,余的过程有技巧。剩下的就是对字符串的处理了我这里用了Map。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include...原创 2020-02-17 18:18:14 · 426 阅读 · 0 评论 -
牛客oj 习题2.5Hello Word for U&&习题2.6日期差值
这题难点在这句话:n1 = n3 = max { k| k <= n2 for all 3 <= n2 <= N }理解为n2在3到N之间,k的值小于等于n2,等号最右边的值是k,那么n1=n3都等于k,也就都小于n2。理解了这句话,这题就是送,画个图列出表达式就可以秒了。#include <cstdio>#include <iost...原创 2020-02-16 22:00:06 · 325 阅读 · 0 评论 -
hdu2074&&牛客oj 叠框(模拟)
本人做题全靠心情,自我感觉一种题通了且有模板可循就总结至这里,不定期更新,注意点一般都写在注释,参考自认为典型题(不是刁难变相题),望诸神不喜轻喷勿拉黑1、弗洛伊德算法(参考hdu1874)#include #include #include #include using namespace std;const int INF = 1 const int N原创 2016-01-27 10:40:39 · 456 阅读 · 0 评论 -
牛客oj 习题2.2百鸡问题&&习题2.3Old Bill
这题。。唯一需要注意的地方就是1/3那个地方直接除会产生误差(截断),转成double即可。#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>using namespace st...原创 2020-02-16 14:06:38 · 372 阅读 · 0 评论 -
牛客oj 例2.2反序数&&习题2.1与7无关的数
反序数这东西第一反应是不能是栈,因为C++字符串和数字之间的转换并不方便。另外这题1111以后的数字都是5位数,直接省去判断。#include <cstdio>#include <iostream>#include <string>using namespace std;int Reverse(int num){ int an...原创 2020-02-16 11:42:05 · 322 阅读 · 0 评论 -
UVA - 455 Periodic Strings
正确代码:#include #include int main(){ int i,j,l,n,ans,flag=0,num,k; char st[100]; scanf("%d",&n); while(n--) { if(flag) printf("\n"); flag=1;原创 2015-09-24 20:05:00 · 510 阅读 · 0 评论 -
uva201(poj2445) Squares(模拟)
明天再补吧。。。#include #include #include #include #include #include #include #include #include #include #include using namespace std;const int N = 130000;const int INF = 1000000;int hor[9原创 2016-03-15 22:16:50 · 728 阅读 · 0 评论 -
uva1583 Digit Generator && uva1584 Circular Sequence(水)
生成打表#include #include #include #include #include #include #include #include #include using namespace std;const int N = 100005;const int INF = 1000000;int main(){ // freopen("in.txt原创 2016-03-14 21:13:20 · 351 阅读 · 0 评论