题解列表

筛选

景区导游详细注释--先暴力->再借助最小公共祖先(树链剖分)优化

解题思路:游览顺序为2651,当跳过中间某个景点时(例如6)要花费的时间为总时间减去该景点与前一个景点的时间(2->6),再减去该景点与后一个景点的时间(6->5),最后再加上前一个景点的时间到后一个景点的时间(2->5),跳过第一个或者最后一个时只需要减去后一段或前一段时间;注意事项:参考代码:先看

c++分数线划定

参考代码:#include#include#includeusingnamespacestd;//定义一个结构体来表示候选人structCandidate{intid;//报名号intscore;//笔试成绩};//自定义排序规则:先按成绩降序

合并区域暴力解法

​第一开始想的是无论两个矩阵怎样旋转或偏移,两个矩阵边缘如果有连通点都能连通,所以就没有考虑旋转和偏移,分别对两个矩阵四条边中为1的点进行DFS搜索,寻找两矩阵边缘最大连通区域。这样想其实至少有两个错误:1.题目理解的错误按照这种理解,只会统计新形成的最大连通区域,

欧亚李鑫超级无敌暴力解法

解题思路:如果只有1枚硬币,不需要称量,直接返回0。如果有2枚或3枚硬币,只需要称量1次即可找出假币。递归关系:对于n枚硬币,每次称量可以将硬币分成三组,每组大约有3n枚硬币。如果n不能被3整除,会有两组数量相同,一组数量少1。通过一次称量,可以确定假币所在的组。

连连看Python

摘要:n,m=map(int,input().strip().split())num=[list(map(int,input().split()))for _ in range(n)]sum=0……

动态窗口1111111

解题思路:注意事项:参考代码:#includeusingnamespacestd;intmain(){intn,k;cin>>n>>k;vectorarr(n);for(inti=0;i>arr[i];intq,

用vector来写

摘要:#includeusing namespace std;int main(){ vector vec; int n,num; for(int i=0;i>num;……