自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 多源最短路计数(Flyod)

P2047 [NOI2007] 社交网络 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)2.注意第一个三层循环的k相当于中继站求最短路的作用,第二个是统计经过k节点从a到b的最短路数目求ans。x = 经过k节点从a到b的最短路数目 / 从a到b的最短路数目,把图中所有合题的x累加求和。1,dis的无穷初始化和edge的初始化问题。

2023-08-12 21:08:06 57 1

原创 U161182 可达性统计(拓扑排序)

首先可以知道要求所有节点可以到达的点的个数,我们可以想到从拓扑排序的逆序顺序遍历节点,不能用加运算,因为加运算可能会加上一些重复的遍历过的点,比如1->2,2->4,1->4,此时算1到达的点的个数时,用加运算则会把4加俩边,为了防止加重复的点,考虑用或运算,每次只取集合的并集(注意位运算容器bitset<N> ret[N]及某点的查询ret[i].count(),并且只存储某一位是0还是1,U161182 可达性统计 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

2023-08-11 08:51:20 59 1

原创 n个节点n-1条边的树,维护树的信息

【代码】n个节点n-1条边的树,维护树的信息。

2023-08-09 20:42:18 72

原创 团伙P1892(并查集)

b的敌人是c,那么a和c是朋友关系,所以我们可以知道a和c可以合并。那么我们开一个一维数组emy记录敌人是否出现过,没出现那么把当前敌人放进去,出现过那就合并出现过的敌人的祖先。P1892 [BOI2003] 团伙 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)当遇到朋友关系时,直接合并即可;遇到敌人关系时,由于敌人的敌人是朋友关系,a的敌人是b,此题问有多少团伙,本质上是问有多少祖先。:一定要注意合并时的祖先问题。

2023-08-09 10:44:12 37

原创 B - Hoppers(图论,染色距离为2的点)

奇数环与奇数环的连通块,可以连接一条边完成染色,奇数与偶数环也可以连接一条边完成染色,偶数与偶数环则需要连俩条边形成奇数与偶数环完成染色。解题思路:用vis[i]判断是否该节点完成染色,dfs来进行统计连通块的数量并同时判断是否含有奇数环,统计数量时对每个未染色的节点进行dfs同时res++,对该节点连接的未染色的点再进行dfs,如果染色了则说明可以形成闭环,此时判断当前节点数量是否可以形成奇数环,用od进行标记。没有奇数环则res-1+1;

2023-08-09 08:58:41 28

原创 D - 38 parrots (线段树)

利用线段树维护区间最小值和公约数,如果1节点最小值等于公约数,则输出Y输出公约数。

2023-08-04 09:41:42 38 1

原创 线段树的加成操作和查询操作(模板)

P3373 【模板】线段树 2 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

2023-08-03 19:50:52 16

原创 G - Goblin Garden Guards(暴力优化,外切矩阵扫描)

2.暴力优化:枚举n个虫子,再枚举m个圆,如果该虫子圆心距离小于等于半径,则res++并直接break掉不用再枚举其他的圆,因为暴力是O(n*m)2e9左右,题目要求3s也就是要求在3*4e8大约1e9左右,这种暴力优化会break,时间会比2e9小点。第一种:先标记累加虫子覆盖的位置,利用圆的外切矩形,在圆的外切矩形中找到能够距离圆心小于等于半径的点,然后看该点是否被虫子覆盖,覆盖则res+=g[i][j](注意圆的外切矩形应该在0-10000之间防止rte)

2023-07-28 09:37:42 30 1

原创 M - Master of Shuangpin(map字符更换字符串模拟)

(此题一开始想用打表做,s.find查找有无该字符串,有的话就进行s.replace更换,但是最后发现find函数可能会将已更换过的字符再合成更换,有点bs了):先getline输入一行字符串,再对字符串while循环得出每个字符串并进行操作输出。用到的stl及相关字符串输入等等:getline输入包含空格的字符串,s.substr(pos,len),mp.count(x)看是否出现过。注意先mp4再mp3再mp2。开三个map简化了代码。

2023-07-26 16:26:06 51 1

原创 J - Ginger的牧场(二分图,匈牙利算法)

J - Ginger的牧场 | SDUT OnlineJudge。需要将字符串用map映射成对应的数(离散化的方式)题意:将母牛和小牛匹配。

2023-07-25 09:22:48 20

原创 C-Crossword Validation(字典树算法)

题意:给n*n的矩阵,矩阵由小写字母和#组成,和m个字典单词及其对应分数,矩阵中单词向下向右遍历,直到遇到#则构成一个单词,查询该单词在字典中对应分数并累加,如果未查询到则无效。2,同时因为内存较大,long long需要换成int,只long long 必要变量(否则超内存)思路:第一种:将m个单词插入字典树同时保存对应分数,查询矩阵中单词分数并检验是否有效。注意:1,字典树tr[N][28]的N因为插入单词是m,也就是4e6级别。第二种:预处理出m个单词的map值,再直接查询矩阵单词的分数。

2023-07-25 08:34:16 45

原创 E-Third Software 2(区间+最小覆盖)

根据在左端点小于等于t+1,while循环不断更新找出此时右端点的最大值,需要特判是否t==tmp,也就是在左端点小于等于t+1的情况时,这时右端点没有移动不能更新更大的端点,同时需要看是否是区间都有覆盖,也就需要判断a[i].l>now+1则直接输出No。需要特判a[1].l是否满足等于1和最大值是否等于m,不满足则输出No。思路:左区间由小到大,左区间相同右区间由大到小排序,开结构体存Id。

2023-07-24 10:06:44 21

原创 A-Rooms and Passes(普通模拟与双指针算法)

普通模拟:从后往前遍历,遇到正数直接累加b[i]=b[i+1]+1,同时标记该正数用于是否检验判断该绝对值的负数;遇到负数,如果该数绝对值没有被标记过,直接累加,否则开一个sum表示遇到的最小的标记位,sum=min(sum,pos(abs(a[i]),b[i]=i-sum。双指针算法:从前往后遍历,s数组是用于检验该通行证是否有效,遇到负数让该数绝对值的s数组减一,遇到正数则检验判断是否s数组的值大于等于0,如果小于0那么无法通过,break。

2023-07-22 11:06:46 36 1

原创 公交车时间表查询(map<int.vector<int>>容器与unordered_map离散化和二元vector的综合运用)

此代码是利用了unoedered_map给车号离散化成较小的数(map也可以,map自动排序时间会长一点点),然后再用vector二元查询给定车号给定车次在什么时间到达。此代码直接利用map容器和vector容器综合运用,如果存在直接输出mp[x][c-1](其中map的第二维有vector容器的参与。因为此题给的车号数据是1e9,但vector容器最大1e7,考虑只查询1e5次,所以可以把1e9离散化到1e5内。

2023-07-19 11:05:53 76

原创 E——Ethernet

n<=20数据较小DFS每种情况,分成前m个电缆和m+1到第n个电缆,将每种情况dfs,到达递归边界时,num++,如果第n个电缆恰好插入第n个端口,此时res++st[i]=u:下标i代表端口,u代表电缆。最后res/num保留10位小数输出。

2023-06-28 18:57:30 39 1

原创 小Q的试炼(宝物价值)——BFS

总结:此题开两个队列从初始点和终点两个方向遍历而不是从初始点一个方向开始遍历的根本原因还是因为这个题有障碍物的存在导致图无法连通,可能有个点可以从(1,1)连通到,但是因为有障碍物导致无法从(n,m)连通到,所以需要用队列两次BFS开俩个数组记录是否可以从初始点和终点连通。开一个队列,首先将(1,1)点加入队列,向右向下遍历,没遇到障碍并且没有超过边界,并且该点没有重复加入队列!此题用bfs的思路是看矩阵内的一点,如果该点既可以连通到(1,1)也可以连通到(n,m),那么则将该点的宝物价值累加.

2023-06-28 18:48:14 303 1

原创 数字模拟(vector数组容器、map键值对容器)

2023-05-31 19:58:07 61 1

原创 嘉然姐姐(二进制回文串

枚举大于k的数,将其转换为二进制数存到数组中,直到位数大于n+m,break。再对二进制数组操作看是否匹配条件,若匹配则res++

2023-05-30 16:41:35 65 5

原创 小彬的周赛

2023-05-29 20:37:40 26 1

原创 求俩点不经过圆的最短距离

2023-05-25 16:13:15 113

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除