【洛谷】P1111:修复公路 闲来无事找个题目(做完后才想到写个博客,所以图片是后来拍的):哇,是个并查集的题诶。怀揣着好奇心,我点进去看了看。题目传送门我随手打开csacademy,建了个图。怎样才能让任意两个村庄都存在至少一条修复完成的路呢?我想了想,惊讶地发现这道题十分简单。任意两节点都存在一条路,那就是树,要从图中扣树,图又是无向图,那不就是最小生成树嘛。所以,这道题就是个模板题。那就好办了,直接把P3366【模板】最小生成树的代码贴上去,再稍加修改就行了。代码#include.
冒泡排序的优化 冒泡排序的时间复杂度是O(n^2),显然太慢了,能不能想办法优化呢?当然能!1.“ok”优化这是最简单的优化了,就是每次判断一下有没有交换,如果没有,那么一定是已经排序完毕,不用继续了,可以用布尔型的ok判断一下。void bubble_sort(int A[],int len){ bool ok=false; for(int i=0;i<len-1;++i) { ok=true; for(int j=0;j<len-1-i;++j) { if(A[j
冒泡排序与桶排 排序方法多种多样,冒泡排序与桶排是最基础的。首先是冒泡排序冒泡排序是最基础的排序,它的原理也很简单,那就是重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来(顺序随便定),而它的效果则是这样:初始状态: 158 39 130 169 156第一次交换:39 158 130 169 156第二次交换:39 130 158 169 156第三次交换:39 130 158 156 169第四次交换:39 130 156 158 169它的时间复杂度..
【洛谷】P4263:投票统计 嗯...首先看一下这道题。投票统计题目描述为了总结过去一段时间的命题工作,王队长组织了“我最喜欢的题目”评选活动,并邀请各位选手给题目进行投票。具体来说,每道题目有一个正整数作为它的编号,一共有n名选手给它们进行投票,每位选手投且仅投给一道题,其中第i位选手所投票的题目编号为 ai。由于投票的选手众多,所以王队长请你来帮忙统计得票数。你需要找出收获选手投票最多的题目数量与他们的编号,并按从小到大的顺序列出这些编号。但这里有一个例外情况:如果所有被投票的题目得票数都相同,...
【洛谷】P2058:海港 传送门上一篇怎么说的来着?高产期开始!!!然后就一年多没更。唉,打脸了。话不多说,开始讲今天的题目吧。海港题目描述小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况;对于第i艘到达的船,他记录了这艘船到达的时间ti (单位:秒),船上的乘 客数ki,以及每名乘客的国籍xi,1,xi,2,…,xi,k。小K统计了n艘船的信息,希望你帮忙..
【信息学奥赛一本通】1184:明明的随机数 传送门1184:明明的随机数时间限制: 1000 ms 内存限制: 65536 KB提交数: 7456 通过数: 4737【题目描述】明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这...
【信息学奥赛一本通】1211:判断元素是否存在 传送门1211:判断元素是否存在时间限制: 1000 ms 内存限制: 65536 KB提交数: 5501 通过数: 2065【题目描述】有一个集合M是这样生成的:(1) 已知k是集合M的元素; (2) 如果y是M的元素,那么,2y+1和3y+1都是M的元素;(3) 除了上述二种情况外,没有别的数能够成为M的一个元素。问题:任意给定k和x,请...
【如皋OJ】1150:标题统计 传送门1150: 标题统计时间限制:1 Sec内存限制:128 MB题目描述凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字 符数时,空格和换行符不计算在内。输入输入文件只有一行,一个字符串s。输出输出文件只有一行,包含一个整数,即作文标题的字符数(不含空...
装载问题 回溯深搜法 2.装载问题【问题描述】 有一批共n个集装箱要装上艘载重量为c的轮船,其中集装箱i的重量为wi。找出一种最优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱装上轮船。【输入格式】 由文件load.in给出输入数据。第一行有2个正整数n和c。n是集装箱数,c是轮船的载重量。接下来的1行中有n个正整数,表示集装箱的重量。【输出格式...
子集和问题 深搜回溯法 4.子集和问题【问题描述】 子集和问题的一个实例为<S,t>。其中,S={ x1,x2,…,xn}是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得子集S1和等于c。【编程任务】 对于给定的正整数的集合S={ x1,x2,…,xn }和正整数c,编程计算S 的一个子集S1,使得子集S1和等于c。【输入格式】...
【信息学奥赛一本通】1218:取石子游戏 传送门:取石子游戏1218:取石子游戏时间限制: 1000 ms 内存限制: 65536 KB提交数: 2463 通过数: 1138 【题目描述】有两堆石子,两个人轮流去取。每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍,最后谁能够把一堆石子取空谁就算赢。比如初始的时候两堆石子的数目是25和7。 25 7...
【信息学奥赛一本通】1204:爬楼梯 传送门:爬楼梯1204:爬楼梯时间限制: 1000 ms 内存限制: 65536 KB提交数: 3988 通过数: 2081 【题目描述】树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。 【输入】...
【信息学奥赛一本通】1214:八皇后 传送门:八皇后1214:八皇后时间限制: 1000 ms 内存限制: 65536 KB提交数: 2702 通过数: 1636 【题目描述】会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 × 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇...
【信息学奥赛一本通】1329:细胞 绝对原创,如有雷同,纯属巧合(这是我最懒的一回)#include<iostream>using namespace std;int front,rear,r,c,q[4100][3],ans=0,MAX=0,dr[4]={1,-1,0,0},dc[4]={0,0,1,-1};char a[210][210];void bfs();int main(){ cin&g...
【如皋OJ】1122: 雷达2 传送门1122: 雷达2题目描述桐桐在去上海的路上,对高速公路的测速雷达发生了兴趣,于是开始研究有关知识,发现在设计测速雷达时有这样一个计算问题:一个测速雷达都有一个最高限速和一个最低限速。如果探测到的数据超过最高限速或低于最低限速,都认为是驾驶员是违规的。为了检测探测器是否正常工作,雷达自身要周期性地分析一下最近的数据。假设多数驾驶员遵守交通规则,因此如果有超过10%的数...
【如皋OJ】1034: 实数的输出形式 传送门:实数的输出形式1034: 实数的输出形式题目描述输入一个实数x,输出x(四舍五入保留2位小数)、整数部分xz(截尾取整)、小数部分xx(四舍五入保留2位小数)、四舍五入后的值xs(四舍五入取整数部分)。参考格式如样例所示,分4行依次输出。 输入只有1行1个数。 输出请参考样例。 样例输入57.833 样例输出x=57.83x...
【如皋OJ】1074: ex412a:表达式求值 传送门:提交1074: ex412a:表达式求值题目描述根据输入的整数n,求出S=1+2-3+4-5+6-…±n的值(最后一项是正还是负取决于该数是偶数还是奇数)。 输入只有1行1个正整数n(1<=n<1018)。 输出只有1行1个整数S。 样例输入1 样例输出1 我们要注意超坑的几点(呵呵):...
【如皋OJ】1128: 洗牌问题 传送门:洗牌问题1128: 洗牌问题 时间限制: 1 Sec 内存限制: 128 MB题目描述给你2N张牌,编号为1,2,3,……,n,n+1,……,2n。这也是最初的牌的顺序。一次洗牌是把序列变为n+1,1,n+2,2,n+3,3……,2n,n。可以证明,对于任意自然数N,都可以在结果M次洗牌后第一次重新得到初始的顺序。编程对于小于10000的自然数N,求出M的值。 ...
【信息学奥赛一本通】1249:Lake Counting 传送门:Lake Counting这是一道吓死人的题目,标题是英文,内容是中文,我也被吓了一跳没有被吓着,很快就进入了状态(心虚啊我啥也没说),原题如下:1249:Lake Counting时间限制: 1000 ms 内存限制: 65536 KB提交数: 2406 通过数: 1133【题目描述】题意:有一块N×M的土地,雨后积起了水,有水标记为...