自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Fields Division

2021-2022 ACM-ICPC Latin American Regional Programming Contest

2022-04-28 17:49:13 428

原创 P1197 [JSOI2008]星球大战

时间:2022.4.28题解:并查集 + 思维。正向难以求解,所以把题目反向理解为,一边添加点,一边求连通块个数。此时初始状态就是其他所有已经存在的点组成的图。根据 fa[i] == i 统计联通块的个数。然后按照输入的逆序添加点,刚添加的点独立,所以是一个新的连通块,cnt++。然后枚举这个点相连的所有点,因为要连边。在它相连的点之间,如果存在一个点已经在图中出现,且它们两个不在一个连通块中,那么他们相连就会导致连通块数减一,即 cnt- -。代码:#include<bits/std

2022-04-28 16:46:43 301

原创 KIARA is a Recursive Acronym(2022.4.27)

2021-2022 ACM-ICPC Latin American Regional Programming Contest

2022-04-27 21:29:46 336

原创 零碎算法——分层图

分层图理论和例题

2022-03-04 17:56:19 341

原创 STL(主要函数及时间复杂度)

vector、map、queue 等 C++ 常用 STL的特性、函数时间复杂度和用法。

2022-03-01 21:13:14 2611 4

原创 板子——图论专题

目录最短路dijkstraSPFA负环SPFA最短路dijkstra特点单源最短路,全是正权边。时间复杂度O(m logn)。代码#include<bits/stdc++.h>using namespace std; typedef long long ll;#define endl "\n"#define IOS ios::sync_with_stdio(false); cin.tie(0)#define inf 0x3f3f3f3f#define pii pair&

2022-02-28 18:00:52 164

原创 Codeforces Round #773 (Div. 2)(ABCD)

目录A. Hard WayB. Power WalkingC. Great SequenceD. Repetitions DecodingA. Hard Way题意:给定一个三角形,若从y = 0上任意一点,无法通过线段到达三角形边上(线段不能通过三角形内部),计算这种边的总长度。题解:当且仅当,三角形上面的边是平行于x轴的情况下,存在答案。这条边的长度即为答案。代码:void slove(){ int T; cin>>T; while(T--) { ll x1, y1

2022-02-25 17:48:53 471

原创 ICPC——2021台湾站(A B C D E J)

目录A - Olympic RankingB - Aliquot SumC - A Sorting ProblemD - Drunk PassengerE - EatcoinJ - JavaScriptA - Olympic Ranking题意:n支队伍,各有一定数量的金牌,银牌,铜牌。按照金牌 > 银牌 > 铜牌的优先级,找出最强的队伍。题解:题意简单,难点在于输入那个字符串。<1> 使用 getline和 string配合,然后输出的时候从第 1位输出而不是第 0位,会

2022-01-14 20:20:49 1545

原创 Codeforces Round #764 (Div. 3)(A B C D E F G)

目录A - Plus One on the SubsetB - Make APC - Division by Two and PermutationD - Palindromes ColoringE - Masha-forgetfulF - Interacdive ProblemG - MinOr TreeA - Plus One on the Subset题意:给定一个数组,你每次可以选择任意位置任意数量的数字加1,问需要几次能把数组所有的元素变成同样大小。题解:最小的元素变成最大的元素的次数就是答

2022-01-11 15:38:57 457

原创 板子——二分图最佳完美匹配(KM )O(n^3)

二分图最佳完美匹配

2022-01-09 16:53:17 400

原创 ICPC——2019南京站(A C H J K)

目录A - A Hard ProblemC - Digital PathH - Prince and PrincessA - A Hard Problem题意:从 {1,2,⋯,n}中任意选择长度为 k的子集, 保证存在两个数 a, b,a是b的因子。求出最小的 k值。题解:规律题 k = (n+3)/2n = 2 3 4 5 6 7 8 9 …k = 2 3 3 4 4 5 5 6 …代码:#include<bits/stdc++.h>using namespace std

2022-01-08 16:48:09 1581

原创 Codeforces Round #755 Div. 2(A B C D)

目录A. Mathematical AdditionB. Coloring RectanglesA. Mathematical Addition题意:给定两个数字u, v,求满足xu+yv=x+yu+v\frac{x}{u}+\frac{y}{v}=\frac{x+y}{u+v}ux​+vy​=u+vx+y​的x, y(x≠0,y≠0x\neq0,y\neq0x​=0,y​=0)思路:两边同时乘以uv(u+v),化简一下就能得到 x=−u2,y=v2x=-u^2,y=v^2x=−u2,y=v2代

2021-11-21 18:45:02 425

原创 Codeforces Round #726 (Div. 2)(A B C D E F)

目录A-Arithmetic ArrayB-Bad BoyC-Challenging CliffsD-Deleting DivisorsE-Erase and Extend (Easy Version)F-Erase and Extend (Hard Version)A-Arithmetic Array题意:给定一个数组,一次可以给数组增加一个非负的元素,问最少需要增加多少次,可以使数组满足:数组元素之和等于数组的长度思路:枚举初始给定数组之和。若小于数组长度,则再增加一个整数即可(肯定存在这样的一

2021-11-16 21:05:49 284

原创 Educational Codeforces Round 104 (Rated for Div. 2)(A B C D E F)

题目链接https://codeforces.com/contest/1487目录A- ArenaB- Cat CycleC- Minimum TiesD- Pythagorean TriplesE- Cheap DinnerF- OnesA- Arena题目:有n个有等级英雄,和同等级的英雄打会平局,和比自己等级低的打可以使自己等级上升1,两个英雄可以打很多次。称可以达到100500100^{500}100500的英雄可以成为冠军,问有多少个可能的冠军思路:比最小值大就可以。代码:#inclu

2021-11-12 22:15:36 482

原创 Codeforces Round #743 (Div. 2) (A B C D E)

题目链接:https://codeforces.com/contest/1573A - Countdown题意:给定一个含前导零的字符串,每次可以选择将字符串的最后一位减一或者将字符串的其它位和最后一位置换。、思路:模拟一下即可代码:时间复杂度O(n*T)#include <algorithm>#include <iostream>#include <cstdio>#include <iterator>#include <vector&

2021-11-09 23:37:32 661

原创 F- Kobolds and Catacombs

题意:给定一个数组,可以对任意一个连续子段非递减排序,问最多可以排几次,使原序列非递减例:1 2 3 5 4 ,则最多排序次数的方式为:[1] [2] [3] [5 4]算法:思维题解:比较排序之后的数组b和原数组a可知,当某个位置在a和b中的前缀和相等的时候,就是一个有效区间。代码:时间复杂度:O(n)#include <algorithm>#include <iostream>#include <stdio.h>#include &lt..

2021-10-10 10:33:42 317 1

原创 CF-978 D. Almost Arithmetic Progression

题意:给定一个长度为n的数组,数组的每个元素可以进行+1或者-1操作。如果可以通过这两个操作,使数组变为等差数列,输出需要的最少操作。否则输出-1。算法:枚举题解:数组的第一个元素和第二个都有3种取值,枚举这9种排列。在每种情况下,算出公差d,则符合题意的数组就唯一确定了,把合法数组和原来的数组逐位比较,如果存在差的绝对值大于1,则说明这个合法数组是无法通过原数组得到的。否则当差的绝对值不为0的时候,cnt++。所有情况中最小的cnt即为答案。代码:时间复杂度O(n)#include &l

2021-09-30 15:29:09 121

原创 CF-976 C. Nested Segments

题意:给定几组区间 [l,r],让你找到一对区间为包含关系,若有多组随意输出一组,若无则输出-1, -1算法:排序题解:使用结构体储存左边界l,右边界r,序号idx。按照 l递增,r递减的顺序排序。分析可知只要前面的r比后面的大,则前面的区间一定包含后面的区间,使用结构体 t存储遍历过的 r最大的区间。代码:时间复杂度O(n)#include <algorithm>#include <iostream>#include <stdio.h>#inc.

2021-09-30 15:12:49 169

原创 网络流(所有常用类型网络流算法的模板)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-09-28 17:36:48 607

原创 CF-998 C. Convert to Ones

题意:给定一个字符串。定义以下两种操作:(1)翻转一个字串,例如 1101 -> 1011,花费x(2)改变一个字串的值,例如 1101-> 0010,花费y求解将字符串每个元素都变为1的最小花费。算法:思维题解:有两种方法得到全为1的字符串。一:将连续的1通过1操作放到左右两侧,中间只剩下连续的0,再使用一次2操作将0变为1。所以总花费是 (所有连续的1的个数-本来就在两侧的连续的1的个数)*x+y,即cnt1*x+y。二:直接对所有连续的0的字串使用2操...

2021-09-28 11:44:06 67

原创 CF - 1000B. Light It Up

题意:在0时刻,灯的状态是打开,然后在每个a[i]处灯的开关状态反转一次,在m时刻灯的状态是关闭。要求是:在a数组中插入一个[0,m]中的数或者不插入,计算所有情况中最大的灯亮总时间算法:前缀和 、思维题解:在a[i]和a[i+1]之间插入一个数x时,a[i]前面的灯亮的时间和是不变的,x后面每个a数组的元素代表的状态反转一次,反转后a[i+1]之后灯亮的时间是固定的(不因为x的大小改变)。所以主要看a[i]和a[i+1]之间的状态。这时分为两种情况:(1)a[i]代表开,a[i+1]代表关

2021-09-28 10:53:13 104

原创 The 2021 Shanghai Collegiate Programming Contest(A B C D E G J)

题目链接:Dashboard - The 2021 Shanghai Collegiate Programming Contest - Codeforces前言:剩余题目待补充 A - 小A的点面论算法:几何知识题解:答案为两个向量的叉积,(三维空间中,两个向量的叉积就是这两个向量确定平面的法向量) 可直接利用公式,也可以暴力枚举计算。代码一:时间复杂度O(1)#define endl "\n"#define IOS ios::sync_with...

2021-09-21 18:11:37 646

空空如也

空空如也

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

TA关注的人

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