自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

A

  • 博客(224)
  • 收藏
  • 关注

原创 fft模板+讲解

讲解:https://blog.csdn.net/qq_37136305/article/details/81184873 有点小问题,一个是代码不太对,另一个是倍增的图不太对。讲解+代码:https://www.cnblogs.com/zwfymqz/p/8244902.html。

2022-11-11 19:49:46 216 1

转载 树的重心讲解

https://www.luogu.com.cn/blog/Five-shifts-Forever/shu-di-zhong-xin性质1.树中所有点到某个点的距离和中,到重心的距离和是最小的(边长为1的情况下)。2.将树以某点进行分割后,最大子树包含的节点数为x,以重心进行分割的方案x会最小。......

2022-07-07 20:01:49 130

转载 codeforces 446A dp

题目链接:https://codeforces.ml/problemset/problem/446/A转自:https://blog.csdn.net/hongrock/article/details/37754307题意:给一个序列,求最多改变一个数的情况下最长的严格上升的序列长度。思路:第i位的答案有三种情况:1、令A[i]比A[i-1]大,然后求出从A[i-1]向左延伸的最长长度2、令A[i]比A[i+1]小,然后求出A[i+1]向右延伸的最长长度3、同时使得A[i-1]<A[i]&

2020-09-27 19:14:32 171

原创 蓝桥杯 试题 历届试题 小数第n位

题目链接:http://lx.lanqiao.cn/problem.page?gpid=T456题意:问题描述  我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。  如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。  本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。输入格式  一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后位置(0<a,b,n<1000000000)输出格式  一行3位数字,表示:

2020-09-26 10:05:34 145

原创 Codeforces 1349A Orac and LCM 数论 gcd和lcm的性质

题目链接:https://codeforces.ml/problemset/problem/1349/A转自:https://blog.csdn.net/qq_43563669/article/details/106087117https://blog.csdn.net/li_wen_zhuo/article/details/106087581题意:给一组数,把任意一对数的lcm放到集合m中,求m中数的gcd。思路:先回想一下lcm和gcd的性质。假设a[i]和a[j]都没有2这个因子,那么lcm

2020-06-27 21:42:57 363

转载 Codeforces 1344A Hilbert‘s Hotel 取模的运用

题目链接:https://codeforces.ml/problemset/problem/1344/A转自:官方题解 https://codeforces.ml/blog/entry/76819题意:给一串序列a,计算k+akmodna_ {k mod n}akmodn​ 对于任意一个整数(包括负数和0)是否有相同的情况。个人思路:首先对于序列a,先让它们加上0 ~ n-1变成d,这样对于后续的每一次计算,都是在这个基础上加减n-1.也就是说每一轮的序列的之间的差值是不变的。就想到可以先排序然后计算

2020-05-29 09:27:13 180

转载 Codeforces 1358D - The Best Vacation 贪心+尺取

题目链接:https://codeforces.ml/problemset/problem/1358/D转自:https://www.cnblogs.com/stelayuri/p/12971546.html题意:一年有n个月,每个月有d【i】天,每天可以获得的价值为该天是当前月份的第几天,求一段连续天数x使得总价值最大。思路:可以想到是尺取,如果把每个月份都展开是肯定不行的。注意到最优的选取方案肯定会选到某个月的最后一天,那么就可以倒序枚举,预处理每个月可获得的价值总和。如果x>0,继续向前枚

2020-05-27 16:57:14 273

转载 Codeforces 1358C - Celex Update 规律

题目链接:https://codeforces.ml/problemset/problem/1358/C转自:官方题解 https://codeforces.ml/blog/entry/77869题意:一个矩形内有多个方格,每个方格都按照顺序填写了一些数。给两个坐标,求这两个坐标间路径经过的数字和不同的条数。思路:先找到数字和最小的路径,然后依次改变其和,每次增加1,直到最大。发现路径数就是不属于数字和最小的路径的方格个数+1.#include <bits/stdc++.h>usi

2020-05-27 08:50:11 324

转载 Codeforces 1332C K-Complete Word 转变成周期回文字符串 贪心

题目链接:https://codeforces.ml/problemset/problem/1332/C转自:https://blog.csdn.net/mrcrack/article/details/105245298题意:给一个字符串,要求变成周期是k并且是个回文串。求改变字符的最小个数。思路:先把字符串划分成长度为k的子串,根据题意,每个子串一定是相同的回文串。问题变成了如何把这些子串变成相同的回文串。求最小个数,那么应该让对应位置出现个数最多的字符尽可能的不改变,因此统计每个子串中对应位置出现

2020-05-26 17:34:58 607

转载 Codeforces 1334C Circle of Monsters 前缀和+贪心

题目链接:https://codeforces.ml/problemset/problem/1334/C转自:https://blog.csdn.net/qq_45458915/article/details/105475056题意:一群怪物围成一个圈,每只怪物有a点血量和b点爆炸伤害,如果一只怪物血量为0,它会爆炸给下一只怪物造成b点伤害,如果下一只怪物已经死亡则无事发生。人每次开枪只能造成一点伤害,求杀死所有怪物所需的最小开枪数目。思路:一定是选择一只怪物作为开始然后挨个杀。先求出每只怪物如果被

2020-05-21 16:05:53 240

转载 166E - Tetrahedron 正四面体路径计数 dp

题目链接:https://codeforces.ml/problemset/problem/166/E来源:官方题解 https://codeforces.ml/blog/entry/4173题意:一个正四面体,一只蚂蚁每一时刻只能停留在顶点处,一秒只能移动1并且不能停留。求从D出发经过n秒后回到D的路径数。思路:d表示在D处的方案数,abc表示在ABC处的方案数。对于每一秒,可以到达D的方案数为前一秒在ABC时的方案数,可以到达ABC的方案数为d3(从顶点有3种方案到达)+2abc(从ABC可以有两

2020-05-19 15:51:04 253

原创 codeforces 431C - k-Tree dp

题目链接:https://codeforces.ml/problemset/problem/431/C转自:https://blog.csdn.net/qq_25955145/article/details/81261580题意:给一个无限的满k叉树,求从根节点开始经过的路径总长度为n,且其中至少一条边的长度不小于d的路径数。思路:首先假设k为无穷大, 初始状态dp【1】=1dp【2】=dp【1】+1,包括一条从路径长度为1的出来走到下一个节点p,在点p处剩余可走的长度为1,即dp【1】(dp【i】

2020-05-17 21:46:45 175

转载 Number of Ways CodeForces - 466C 分成三段相等数字和

题目链接:https://codeforces.com/problemset/problem/466/C?csrf_token=2d33d8e5911dbe22fd3b542450854920转自:https://blog.csdn.net/SakuraKarma/article/details/104376785题意:给一段序列,求能把序列分成三段连续相等的数字和的方法数。思路:求一下前缀和,从1开始,枚举前缀和,统计下从1-(当前下标-1)的可以作为分段点的个数cnt,当以当前下标为分段点时,共有

2020-05-14 18:38:11 199

原创 A Plug for UNIX UVA - 753 插头转换 floyd+匈牙利

题目链接:https://vjudge.net/problem/UVA-753题意:有n个插座 m个设备 k种转换器,转换器每种的个数是无限的,并且可以嵌套使用,求最少剩余的设备数。思路:整体思路就是建图,然后用floyd求出哪些设备可以通过一些转换器的使用进而用到插座,然后再用匈牙利算法求一个最大匹配。用一个map分配每种插头或插座的id 注意所有插头或插座的类型加起来可能会达到400种,数组要开的大一点。特别注意匈牙利算法调用时参数不能等于0#include <cstdio>

2020-05-12 16:35:44 202

原创 Mayor's posters POJ - 2528 线段树染色+特殊离散化

题目链接:https://vjudge.net/problem/POJ-2528#author=0参考:https://blog.csdn.net/weixin_44077863/article/details/98037868https://blog.csdn.net/baiyifeifei/article/details/81672170题意:给区间染色,求最后能看到多少颜色。思路:区...

2020-05-06 20:57:14 127

原创 A Simple Problem with Integers POJ - 3468 线段树区间修改+区间查询

题目链接:https://vjudge.net/problem/POJ-3468题意:区间修改和查询。思路:区间修改时一定要下传标记,这样才能更新上层节点的值,否则会出错。如 5 31 1 1 1 1C 1 2 1C 2 3 1Q 1 2如果在区间修改时不下传标记,当对执行C 2 3 1时,此时4号节点也就是1和2的父节点的lazy没有下传导致pushup操作时4号节点的sum会出...

2020-05-05 19:03:31 144

转载 Strongly connected HDU - 4635 加最多的边让其保持不强连通

题目链接:https://vjudge.net/problem/HDU-4635#author=0转自:https://xiaoxiaoh.blog.csdn.net/article/details/104441555题意:给一个有向无重边无自环的图,求最多可以添加多少边,让其仍然不连通,没有重边且没有自环。思路:一个n个点的有向完全图的边数为n* (n-1),已经有了m条边,剩余n* (n...

2020-05-04 17:52:46 202

原创 Warm up HDU - 4612 邻接表重边求桥+边双+缩点+树的直径

题目链接:https://vjudge.net/problem/HDU-4612题意:给一个连通有重边的无向图,现在添加一条边,求剩余桥的最小数量。参考:https://blog.csdn.net/babing2770/article/details/102076878思路:先求边双然后缩点,然后重新建图,其中每条边都是原图中的桥,只要在树的直径的两端连一条线,所能消除的桥的数量是最多的。...

2020-05-03 22:08:07 315

原创 Redundant Paths POJ - 3177 边双连通分量+缩点

题目链接:https://vjudge.net/problem/POJ-3177题意:给一个图,求添加最少的边的数量,让其任何两点之间都有不少于两条的不同道路。保证图是连通的。题意不是很明确重边的问题,这里默认两点间最多有一条边。思路:其实就是求添加最少的边,让其变成边双连通分量。先找出图中的桥并且标记,然后再来一次dfs保证不经过桥就可以求出边双连通分量。 定理: 使树变为边双联通图的最少加...

2020-04-28 17:39:09 216

转载 Network POJ - 3694 桥+lca

题目链接:https://vjudge.net/problem/POJ-3694#author=0转自:https://blog.csdn.net/JiangHxin/article/details/104436852题意:给一个图,初始一定是连通的。现在添加多条边,每次添加边后输出图中剩余桥的数目。思路:题目输入没有重边。如果输入有重边可能原本是桥添加了重边就不是桥了。先找出所有的桥,br...

2020-04-27 11:20:34 132

原创 Critical Links UVA - 796 无向图的桥模板

https://www.cnblogs.com/gzh-red/p/11253230.html#_label3_1_2_0

2020-04-24 20:13:31 117

原创 Network UVA - 315 无向图的割顶

题目链接:https://vjudge.net/problem/UVA-315#author=0题意:给出一个无向图,求割顶。#include <cstdio>#include <algorithm>#include <queue>#include <vector>#include <cstring>#include &lt...

2020-04-24 16:38:02 120

转载 How Many Answers Are Wrong HDU - 3038 带权并查集

题目链接:https://vjudge.net/problem/HDU-3038#author=jack10086转自:https://blog.csdn.net/weixin_44224825/article/details/104241108题意:给多个区间以及区间和,假设前面的推论是正确的,求有多少矛盾的推论。区间和不能为负数。例如1-10=100,1-5=200就是矛盾的。思路:pa...

2020-04-23 16:31:31 82

原创 食物链 POJ - 1182 种类并查集或带权并查集

题目链接:https://vjudge.net/problem/POJ-1182错误代码用并查集表示是同类,vector保存关系。查询时用的是根节点的关系,由于合并时没有把子节点上的关系转移到根节点导致关系缺失。#include <cstdio>#include <algorithm>#include <queue>#include <vect...

2020-04-21 17:41:54 172

原创 Wireless Network POJ - 2236 并查集判断两点是否连通

题目链接:https://vjudge.net/problem/POJ-2236题意:给多个电脑的坐标,初始电脑都是损坏的,O操作代表维修电脑,S操作查询两电脑是否可以通讯。两电脑可以通讯的前提是距离不超过d,可以由多台电脑中转。思路:一开始的bfs超时了。判断是否连通其实用不到bfs,一个并查集就好了。#include <cstdio>#include <algorit...

2020-04-20 09:36:14 271

原创 Network of Schools POJ - 1236 强连通分量+缩点法

题目链接:https://vjudge.net/problem/POJ-1236题意:给一个有向图,求1.可以遍历整个图最少所需的起点个数 2.添加最少的边让其变成强连通图思路:先用缩点法,对于1,入度为0的点的个数即为所求。对于2,max(入度为零的点的个数,出度为0的点的个数)即为答案。特判本身是强连通图的情况。错误做法 :对于1,连通块个数就是答案。但是假如1->2,3-&gt...

2020-04-19 09:56:03 165

转载 Space Ant POJ - 1696 点的排序

题目链接:https://vjudge.net/problem/POJ-1696转自:https://blog.csdn.net/yeyun666/article/details/50061923题意:给多个点,起点是(0,给的点中最小的y),要求只能向左转并且路径不能相交,求最多可以经过的点并输出路径。思路:首先一定可以经过所有点。 先找出左下角的点,然后不断排序来寻找在它左边最靠近它的...

2020-04-16 15:46:01 135

原创 Board Wrapping UVA - 10652 凸包+向量旋转模板

题目链接:https://vjudge.net/problem/UVA-10652白书P272题意:给多个木板,每块木板用x,y,w,h,j描述。(x,y)为中心点,w,h为宽度和高度。j为顺时针旋转绕中心旋转的角度。用一个面积最小得凸多边形将所有木板包起来,求木板占多边形得面积。思路:先处理木板的顶点,先用角度计算弧度,因为是顺时针需要加负号。向量旋转时因为是绕中心旋转,因此用一个连接木板...

2020-04-15 15:04:58 140

原创 线段相交(规范+不规范)

struct point{ double x,y; point(double a=0,double b=0):x(a),y(b) { }};struct line{ point a,b; int id; line() { } line(point c,point d):a(c),b(d) { ...

2020-04-14 21:36:39 318

原创 Treasure Hunt POJ - 1066

题目链接:https://vjudge.net/problem/POJ-1066题意:给一个矩形,内有多条不重合线段,给一个宝藏所在的位置,每次穿越必须走线段的中点,求从矩形边界到宝藏最少穿越的线段条数。思路:题目说必须从中点穿越线段,但其实从线段的任何一点穿越是没有区别的。每条线段虽然可以形成多段墙,但是每条线段最多也就穿越一次。直线穿越一定是最优的。可以枚举矩形边界上的每个端点,与宝藏连线...

2020-04-13 10:19:51 211

原创 The Doors POJ - 1556 计算几何+最短路

题目链接:https://vjudge.net/problem/POJ-1556参考:https://www.cnblogs.com/kuangbin/p/3189309.html题意:一个房间内有许多障碍,让你计算从(0,5)到(10,5)的最短距离。思路:把起点和所有可以连接的点连线,判断是否有其他线段与此连线 规范相交 (在端点处相交不算阻碍),如果没有线段与其规范相交,说明没有受到阻...

2020-04-09 17:21:14 139

转载 Gourmet choice CodeForces - 1131D 差分约束(addedge函数太慢)

题目链接:https://vjudge.net/problem/CodeForces-1131D转自:https://blog.csdn.net/hao_zong_yin/article/details/88371836题意:给你多个点的大小情况,求满足条件的情况下所有点的最大值让其最小。思路:求解满足条件所有的最小值,应该跑最长路。注意addedge函数因为每次要获取长度,此题用的话会超时...

2020-04-09 11:21:23 272

转载 Segments POJ - 3304 判断直线与线段相交

题目链接:https://vjudge.net/problem/POJ-3304转自:https://blog.csdn.net/sdsy191553/article/details/83067586题意:给多条线段,问能否找到一条直线,将所有线段投影到上面后有至少一个公共交点。思路:假设存在直线,对直线做垂线,当垂线在投影的公共区域时,它会经过所有线段。 问题变成了找这样的一条可以经过所有...

2020-04-05 11:40:04 303

原创 TOYS POJ - 2318 叉乘判断直线方向

题目链接:https://vjudge.net/problem/POJ-2318#author=happen题意:一些线段把一个矩形分成若干部分,给一些点,求每个部分的点的个数。思路:两个向量oa和ob,如果oa*ob<0,说明oa在ob的左侧,如果>0,说明oa在右侧,=0,说明共线。注意两向量一定是共起点的。#include <cstdio>#include &...

2020-04-04 11:03:14 172

转载 Height Preservation Kattis - heightpreservation 贪心

题目链接:https://vjudge.net/problem/Kattis-heightpreservation转自:https://blog.csdn.net/sdut_jk17_zhangming/article/details/93207907题意:给一个矩阵,只有同一行或者同一列的高度可以比较,改变高度后不改变相对高低,求最小的高度。思路:l[x]表示x行所需的高度个数,r[y]表...

2020-04-03 09:35:04 102

转载 Path Intersection Gym - 102040F k条路径的公共点 树链剖分

题目链接:https://vjudge.net/problem/Gym-102040F转自:https://blog.csdn.net/A_Thinking_Reed_/article/details/101202837题意:一棵树,给k个路径,求其k条路径的公共点。思路:问题在于如何寻找出现了k次的点。可以用线段树维护出现次数最大值最小值,当一段区间的最大值等于最小值等于k的时候说明这段区...

2020-04-01 15:41:25 346

原创 洛谷P3384 【模板】轻重链剖分 树链剖分的子树操作

题目链接:https://www.luogu.com.cn/problem/P3384建树时是按照dfs序来的。需要对子树进行操作,因为一颗子树的dfs序一定是连续的,因此也可以用线段树维护。链的更新和子树的更新是不同的。 链的更新需要查找路径上经过的节点,让uv不断的往上搜索。子树的更新只需要计算当前根节点的dfs序和子树内最大的dfs序即tid[b]+sz[b]-1,然后直接用线段树...

2020-04-01 13:46:08 227

原创 Subway Lines Gym - 101908L 树链剖分

讲解:https://www.luogu.com.cn/blog/P-Wang/query-on-a-tree-explaination代码:https://blog.csdn.net/Cymbals/article/details/83212059题意:给一颗树,输入abcd,求a与b的路径连线和c与d的路径连线公共点个数。因为初始值都是0,省去了建树操作。#include <cs...

2020-03-31 18:37:46 133

转载 树上差分

转自:https://blog.csdn.net/a_forever_dream/article/details/83505521对点的差分d 是差分数组 a是节点 fa是父节点d[x]+1相当于a[root]~a[x]+1给树上一条链x~y的节点全部+1当 x 是 y 的祖先时d[y]+1,d[fa[x]]-1即可。d[y]+1是给y~root的节点全部+1,d[fa[x]]-1...

2020-03-31 10:33:41 137 1

原创 How far away ? HDU - 2586 lca求树上两点间最短距离

题目链接:https://vjudge.net/problem/HDU-2586#author=zzuli_practice题意:给一颗树,求树上两点间最短距离。思路:dist【i】表示根到i的距离。设z为xy的lca,xy的最短距离为dist【x】+dist【y】-2*dist【z】。#include <iostream>#include <cstdio>#in...

2020-03-31 09:41:15 196

空空如也

空空如也

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

TA关注的人

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