随笔分类 - ACM
摘要:题意:判断两个字符窜是否一样,不一样,或相似,字符窜包含大小写字母,'\n','\t',' ',‘\r’,所以一样所有的都一样,相似是只要字母顺序相同就行了,其他的都不一样分析:这是一道好题,在给我几天如果不看别人代码和解题报告打死我想不到做不出来,比赛的时候没做出来,纯属正常确实不会,不过还是很多...
阅读全文
摘要:水题:判断单词有几个刚开始没仔细想 仅仅判断了空格和空格的个数+1就是单词的个数,后来wa后仔细读读,他说连续的字母是一个单词所以abc!abc这就是两个单词了,还有uva不支持子啊循环中定义变量#includechar str[500];int Find(int t){ int i; ...
阅读全文
摘要:这道题目的题意就纠结了很久,刚开始没有读懂,用Kruskal给过了,后来查解题报告可以用Dijkstra,于是就打算用这个算法写一写,松弛那里一直不知道怎么下手,后来搜了无数份解题报告还是看不懂松弛那里怎么实现的,最后和wjx讨论后才理清了思路,原来一直纠结错了地方,虽然算法用对了但是松弛那里却还紧...
阅读全文
摘要:一道很朴素的最小生成树,不过通过此题知道了,当n已经决定的情况下,若n个点无法构成最小生成树的话,最终得到ans无法得到精确的值,他会将无穷大的路径加入。#include#includeconst int MAXN=110;const int INF=9999999;int mat[MAXN][MA...
阅读全文
摘要:题意:若最小生成树唯一则输出权值和,若不唯一输出NotNot Unique!运用prim算法将最小生成树求出,然后在依次枚举删除最小生成树中的每一条边,判断是否还能构成一个新的最小生成树,且权值和与初始的权值和相等,若能构成则不唯一#include#include#includeusing name...
阅读全文
摘要:题意:将n个人分组,找出受感染的人有多少,当一个人感染,他所在的那一组均视为受感染。分析:运用并查集将相关联的人都分到一个集合,然后判断每个人是否和0在同一个集合,若在则视为受感染,否则不是#includeconst int MN=30010;int father[MN],rank[MN],a[MN...
阅读全文
摘要:题意:给你一定的格子的棋盘,一匹马是否可以遍历完全整个棋盘View Code 1 #include 2 #include 3 const int MAXN=30; 4 5 //国际象棋纵是数字,横是英文 6 struct Node//用于最后字典序输出 7 { 8 int x,y; 9 ...
阅读全文
摘要:经过+1,-1,*2的操作,使第一个数等于第二个数求最少步骤都是用的广搜#include#include#includeusing namespace std;const int MAXN=100010;int step[MAXN],vis[MAXN];queueQ;int BFS(int n,in...
阅读全文
摘要:初始思路: 是定义了两个数组,一个储存进去车辆的信息,另一个储存的是出去的车辆的信息,这样导致每次进去都需要查找车辆以前是否出去过,若出去过需要清楚出去信息,若车辆需 要 出去,又要查找该车辆是否进去过,若进去过要清楚进去的信息,以至于最终也不知道哪里出错了。后来思路: 借鉴了别人的代码,恍然...
阅读全文
摘要:题意: 从初始房间到达终止房间需要经过一系列的房间,没经过一个房间会得到一个价值,从一个房间到达另一个房间同时需要消耗一定的时间,在规定的时间内从初始到达终止房间 所能达到的最大值是多少#include#include#define INF 99999999const int MAXN=1...
阅读全文
摘要:将顶点进行排序,去掉度m最大的点,依次让其后m个数减1,若后面的某个顶点出现负数的情况或后面的数的个数少于最大的度#include#include#includeusing namespace std;struct EDGE{ int d;//储存度数 int num;//储存位置}ed...
阅读全文
摘要:题意:简单题,读懂题目就很好写了,这里要说的是,题目并没有叙述每句话里的单词长度是多少,所以导致我的数组开小了,一直SF,后来把数组开大后就A了 先给出一组单词,然后在给出几个句子,输出包含给定单词数量最多的句子。这次考验基础,就是单词与单词的分隔不仅仅只是空格还有别的符号#include#i...
阅读全文
摘要:优先队列的概念及使用方法题意:输入GET,队列为空则输出空,否则输出最优先的数据(所谓最优先,就是优先值最小的一个),若输入PUT,输入三个数据,分别是名字,参数,和优先值。#include#include#include#includeusing namespace std;struct Node...
阅读全文
摘要:题意:给出几个字符窜,判断是否某个字符窜包含另一个字符窜为前缀,则输出NO(注意NO是大写),否则输出YES(注意是大写,大写)#include #include #include using namespace std; struct Node { char nam[100];...
阅读全文
摘要:题意:给出天数,让你输出该天数后的日期2000使润年。。。。#includeint Is_leap(int i){ if(i%400==0 || (i%4==0 && i%100!=0)) return 1; return 0;}int main(){ int n; int ...
阅读全文
摘要:题意:根据公式进行分析,当该数字小于1说明往左边走,当数字大于1说明往右边走#includeint main(){ int T; long long a,b,temp; scanf("%d",&T); while(T--) { scanf("%lld/%l...
阅读全文
摘要:题意:算几次进位....被坑的厉害 如果是复数的话,末尾输出有sssssssss.......知识点:字符窜输入,如果在输入前没有让str(memset),结束符号‘\0’以后的字符不一定使0 而是乱码#include#include#includevoid Rever(char str[],int...
阅读全文
摘要:题意:算几次进位....被坑的厉害 如果是复数的话,末尾输出有sssssssss.......知识点:字符窜输入,如果在输入前没有让str(memset),结束符号‘\0’以后的字符不一定使0 而是乱码#include#include#includevoid Rever(char str[],int...
阅读全文
摘要:题意:给定出字符窜数组,然后再给出单词,在字符窜数组中找到该单词,输出能够找到该单词的首字母的位置,找的方向可以垂直,斜向,水平分析:搜索 over#include#includechar str[110][110];char match[110];int vis[110][110];int ans...
阅读全文
摘要:最近做挑战编程,题目难度加大,题意理解也越来越吃力了,好几次都理解错题意。题意:先给出洗牌者能够洗牌的几种方法,再给你k,让你求他经过第k种方法洗牌后的排序理解:每次下面给出的k使每一次都重新洗一次,而不是让你输出第k组数据#includeint main(){ int n,k,i,a,j; ...
阅读全文