自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Educational Codeforces Round 126 (Rated for Div. 2)(ABCD)

Educational Codeforces Round 126 (Rated for Div. 2)(ABCD)A. Array Balancing题意:有两个长度为n的序列a,b,相同位置下可以交换两序列元素swap(a[i],b[i])swap(a[i],b[i])swap(a[i],b[i]),问两个序列的每相邻两位的绝对值之和最小是多少思路:相同下标下,小值给a,大值给b就好了#include<bits/stdc++.h>using namespace std;typ

2022-04-10 21:12:38 757 1

原创 Codeforces Round #781 (Div. 2)(ABCDE)

Codeforces Round #781 (Div. 2)(ABCD)A. GCD vs LCM题意:给定一个n,将n分成4部分,满足a+b+c+d=n&&gcd(a,b)==lcm(c,d)a+b+c+d=n\&\&gcd(a,b)==lcm(c,d)a+b+c+d=n&&gcd(a,b)==lcm(c,d)思路:先判断n是否为4的倍数,是的话分成4等份,a=b=c=da=b=c=da=b=c=d不是的话,保证c=d=1c=d=1c=d=1,

2022-04-09 21:29:15 834 2

原创 G. Matematical Transformation(树链剖分+线段树)

G. Matematical Transformation(树链剖分+线段树)G. Matematical Transformation题意:一颗有n个节点的有根树,根节点是1,初始每个节点的值为0现在进行q次操作操作0: 0 u v 输出节点u到节点v的路径和操作1: 1 u v k 对节点u的子树,每个节点的价值加上v+k∗dv+k*dv+k∗d,d为该节点i到节点u的深度差(d[i]−d[u])(d[i]-d[u])(d[i]−d[u])思路:树链剖分套路题。每次进行操作0,其实就

2022-04-08 01:18:22 468

原创 E1/E2. Weights Division (easy version)/(hard version)

E1/E2. Weights Division (easy version)/(hard version)E1. Weights Division (easy version)题意:一颗有n个节点的有根树,根节点是1。问最少操作多少次,可以使得从根节点到所有叶子节点的路径上的边权总和<=S。即每个叶子节点上有一个人,这些人要到根节点去,每个人的花费为到根节点的边权和。操作多少次,使得所有人的边权总和<=S每次操作使任选某一条边,将其边权值/2思路:我们已知树的结构,我们就可以知道

2022-04-06 15:11:55 398

原创 Codeforces Round #780 (Div. 3)(ABCDEF1F2)

Codeforces Round #780 (Div. 3)(ABCDEF1)A. Vasya and Coins题意:有a个1元硬币和b个2元硬币,问不能组成的最小价格是多少思路:没有1元硬币肯定就是1,有的话就是a+2*b+1。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=2e5+5;int n,a,b;void solve(){ scanf("%d%d

2022-04-01 16:48:05 606

原创 Codeforces Round #779 (Div. 2)(ABCD1D2)

Codeforces Round #779 (Div. 2)(ABCD1D2)这一场写的十分迷,感觉都无法证明正确性,看着样例一顿猜。A. Marin and Photoshoot题意:给一个长度为n的01字符串,0代表男性,1代表女性,对于每个长度大于等于2的子字符串,要求保证男性人数不超过女性人数,问至少添加多少人。思路:发现只有形如"00""00""00"和"010""010""010"的形式才需要添加人数,分别改成"0(11)0""0(11)0""0(11)0"和"01(1)0""01

2022-03-28 20:53:08 316

原创 CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)(ABCDE)

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!)(ABCDE)晚点补F题A. Good Pairs题意:给出长度为n的序列,去找个两个坐标i,ji,ji,j(可以相同),满足对于序列中的所有下标k,满足公式∣a[i]−a[k]∣+∣a[k]−a[j]∣=∣a[i]−a[j]∣|a[i]-a[k]|+|a[k]-a[j]|=|a[i]-a[j]|∣a[i]−a[k]∣+∣a[k]−a[j]∣=∣a[i]−a[j]∣思路:发现样例输出的就是每个序列

2022-03-25 15:05:32 1394 7

原创 Educational Codeforces Round 125 (Rated for Div. 2)(ABCDE)

Educational Codeforces Round 125 (Rated for Div. 2)(ABCDE)A. Integer Moves题意:大概是说最初在点(0,0),想要到点(x,y),只能走整数距离(不清楚,根据样例猜),问最少多少步思路:目标点就是原点,步数0目标点与原点的直线距离是整数,步数1否则步数就是2(先走到同x,再同y)#include<bits/stdc++.h>using namespace std;typedef long long ll;

2022-03-23 19:16:24 912 2

原创 Codeforces Round #778 (Div. 1 + Div. 2, based on Technocup 2022 Final Round)(ABCDE)

Codeforces Round #778 (Div. 1 + Div. 2, based on Technocup 2022 Final Round)(ABCDE)A. Maximum Cake Tastiness题意:输出最大+次大的和#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1005;int n,m,q,a[N];void solve(){ scanf(

2022-03-22 11:36:46 494 1

原创 Educational Codeforces Round 124 (Rated for Div. 2)(ABCD)

Educational Codeforces Round 124 (Rated for Div. 2)(ABCD)总结:日常犯病,细节处理不好A. Playoff题意:给定数字n,有2n2^n2n个人进行比赛,按顺序排好,每次两两比赛,如果两者和相加为奇数,则数字较小的晋级;否则数字较大的晋级。思路:根据样例盲猜答案是2n−12^n-12n−1,幸运水过#include<bits/stdc++.h>using namespace std;typedef long long ll;

2022-03-11 15:43:30 465

原创 Codeforces Round #775 (Div. 2, based on Moscow Open Olympiad in Informatics)(ABCDE)

Codeforces Round #775 (Div. 2, based on Moscow Open Olympiad in Informatics)(ABCDE)总结:E题初始考虑不全面,组合数字不太行,忘记了多重集全排列的公式,还是找翻得以前的板子。同时今天发现竟然不会求三角形面积,寄。A. Game题意:给定长度为n的序列,初始在位置1,目标位置n,只能移动到元素为1的位置,免费在相邻位置之间跳跃,之外每次跳跃花费为跳跃前后两点的距离差,问最少花费多少,可以到达位置n,保证位置1和位置n

2022-03-07 19:27:55 328 1

原创 Codeforces Round #774 (Div. 2)(ABCDE)

Codeforces Round #774 (Div. 2)(ABCDE)总结:感冒十分难受,等等有时间写#775A. Square Counting题意:给定两个整数n和s,表示有元素集合{1,2,3...,n}∪{n2}\{1,2,3...,n\}∪\{n^2\}{1,2,3...,n}∪{n2},用在集合中挑选n+1个数(可重复)组成s,问其中会有多少个n2n^2n2思路:好像直接拿s/(n*n)就行了#include<bits/stdc++.h>using namespac

2022-03-06 15:31:28 550 2

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

Codeforces Round #773 (Div. 2)(ABCD)总结:阅读理解+手速A. Hard Way思路:按y值从小到大排序,后两个点的y值相等,答案就是abs(两点x值的差值),否则是0#include<bits/stdc++.h>using namespace std;struct PDD{ double x,y; const double operator<(const PDD&t){ return y<t.y;

2022-02-24 13:42:06 297

原创 Educational Codeforces Round 123 (Rated for Div. 2)(ABCDE)

Educational Codeforces Round 123 (Rated for Div. 2)(ABCDE)A. Doors and Keys题意:给定长度为6的字符串,问是否可以通关,其中R,G,BR,G,BR,G,B为门,r,g,br,g,br,g,b为钥匙。要获得对应钥匙才能开相应的门。思路:直接用map<char,int>map<char,int>map<char,int>记录每个字符的位置,然后对应比较就行了。#include<bits/

2022-02-23 16:30:16 675 1

原创 Codeforces Round #772 (Div. 2)(ABCDE)

Codeforces Round #772 (Div. 2)(ABCDE)A. Min Or Sum题意:给一个长度为n的序列,可以多次进行操作,每次选择不同的i,j,使得满足a[i]∣a[j]=x∣ya[i]|a[j]=x|ya[i]∣a[j]=x∣y,x、y任意,问最后序列的最小总和。思路:因为可以一直或操作,a[i]∣a[j]=x∣ya[i]|a[j]=x|ya[i]∣a[j]=x∣y也可以看成为变化后a[i]+a[j]a[i]+a[j]a[i]+a[j]的值。所以我们只要看所有数在二进制下的

2022-02-21 18:33:16 423

原创 D. Make Them Equal 构造

D. Make Them Equal 构造构造题真的就是想到好写,不过基本想不到,本题想到了就稍微记录一下(题意和思路都在代码块内)D. Make Them Equal//https://codeforces.com/contest/1417/problem/D//长度为n的序列,在操作次数不超过3*n的情况下,使得所有元素值相等,可以则输出方案,否则输出-1//同时每次操作后不能有元素为非负数//单次操作:选择一个三元组{i,j,x} a[i]=a[i]-x*i a[j]=a[j]+x*i

2022-02-19 23:41:02 420

原创 Codeforces Round #771 (Div. 2)(ABCDE)

Codeforces Round #771 (Div. 2)(ABCDE)A. Reverse题意:给一个长度为n的排序,可以翻转一次,使得字典序最小思路:从前到后遍历,位置i!=a[i]i!=a[i]i!=a[i],则翻转区间左端点i,右端点为值i所在位置#include<bits/stdc++.h>using namespace std;const int N=505;int n,a[N];void solve(){ scanf("%d",&n);

2022-02-16 16:48:04 724

原创 Codeforces Round #768 (Div. 2) (ABCDEF)

Codeforces Round #768 (Div. 2) (ABCDE)本场个人总结:本场感觉思维题为主,不过还是读错了题意,耽误了一些时间。A. Min Max Swap题意:给定两个长度为n的序列a和序列b,在两序列下标相同的位置可以进行交换。问两个序列中最大数的乘积最小是多少。思路:乘积最小,直接将下标的两个值,小的给a序列,大的给b序列,此时两个序列中最大数的乘积最小。#include<bits/stdc++.h>using namespace std;const i

2022-01-28 03:56:01 1201 5

原创 P4197 Peaks&&P7834 [ONTAK2010] Peaks 加强版

P4197 PeaksP7834 [ONTAK2010] Peaks 加强版加强版:就是多记录一个lastans,同时查询时v、x、k根据式子变换就行了题意:每次从山v开始,经过困难值不超过x的路径所能到达的山峰中,第k高的山峰的高度。思路:Kruskal重构树跑dfs序建主席树找第k大(0…0)因为问题中是困难值不超过x的路径,也就是最大值(极限值)的最小值,所以我们用Kruskal重构树时是最小生成树;随后就是再dfs序中找第k大值了,没有k个数字输出-1。上主席树就行了。//https:

2022-01-27 21:10:00 532

原创 Codeforces Round #767 (Div. 2)(A B C D E F1 F2)

Codeforces Round #767 (Div. 2)(A B C D E F1)A. Download More RAM题意:问最多可以有多大RAM,当前RAM大于等于a[i]时,可以使RAM增加b[i]思路:暴力+贪心,就将n个RAM参照a[i]从小到大排序就行了。#include<bits/stdc++.h>using namespace std;typedef pair<int,int>PII;const int N=1005;int n,k;PII

2022-01-23 16:14:27 376

原创 牛客月赛43

牛客小白月赛43本场考点:dfs、思维中文题面就是好读A、满意的数字 思路:n才1000,我们直接预处理一下1~n,然后前缀和pre[i]代表前i个数字中“满意的数字”个数。#include<bits/stdc++.h>using namespace std;const int N=1005;int n,pre[N];vector<int>num[N];void build(){ for(int i=1;i<=1000;i++){

2022-01-14 01:07:09 282

原创 21-22-1蓝桥训练9

21-22-1蓝桥训练9补充本周蓝桥CE两题。题目C、试题 算法提高 合并石子思路:本题是区间dp的经典例题,当然石子合并问题还有很多的变化,也有一些神奇的优化方法,有兴趣的大佬可以自己去学习一下(这里我给出连接:石子合并问题–动态规划;贪心)这里我用的是(GarsiaWachs算法)#include <fstream>#include <iostream>#include <cstdio>#include <cstring>#inclu

2021-12-19 12:51:22 355

原创 Codeforces Round #760 (Div. 3) (ABCDEF)

Codeforces Round #760 (Div. 3)题目A. Polycarp and Sums of Subsequences题意:t组样例,每组样例输入从小到大输入7个数构成b数组,问b数组中是否存在三个数,通过给出的方法可以得到b数组。思路:t的范围5000,同时每组样例才7个数,我们直接暴力枚举每次选的那三个元素就行,最后去跟b数组比较看是否相同。#include<bits/stdc++.h>using namespace std;int a[10],b[10];

2021-12-15 17:32:09 1768

原创 2021.12.10--《21-22-1蓝桥训练8》

2021.12.10–《21-22-1蓝桥训练8》前话这篇题解感觉就是提供一下代码,题目难度应该还没有达到省赛难度之后的蓝桥题解有时间的话还是会再写的题目1、试题 算法训练 素因子去重思路:质因数分解#include<bits/stdc++.h>using namespace std;typedef long long ll;ll n,p=1;int main(){ cin>>n; for(ll i=2;i*i<=n;i++){

2021-12-10 20:43:36 405

原创 Educational Codeforces Round 118 (Rated for Div. 2) ABCDE

Educational Codeforces Round 118 (Rated for Div. 2) ABCDEA. Long Comparison题意t组数据,每组数据给x1、p1、x2、p2代表两个数A,B。A是x1后面加p1个0,B是x2后面加p2个0。比较A,B的大小。思路先比较长度,再长度相同的时候再一位位的比较大小。#include<bits/stdc++.h>using namespace std;int p1,p2,len1,len2;string x1,x

2021-12-03 20:48:11 293

原创 Codeforces Round #704 (Div. 2) D. Genius‘s Gambit(构造+思维)

Codeforces Round #704 (Div. 2) D. Genius’s Gambit(构造+思维)D. Genius’s Gambit题意/*构造两个串x、y,每个串由a个0和b个1构成,不包含前导零同时x-y包含不超过k个1*/思路/*很常见的一种构造01串,我们知道不能包含前导零,所以x、y串第一个字符一定是1随后特判掉三种特殊情况: ① 不包含0的情况:全为1,所以k必须为0 ② 不包

2021-12-02 13:45:56 200

原创 Educational Codeforces Round 117 (Rated for Div. 2) E. Messages

Educational Codeforces Round 117 (Rated for Div. 2) E. Messages(思维+暴力)这个题目意思十分的绕,理解题意就十分好写了E. Messages//https://codeforces.com/contest/1612/problem/E//有n个人,第i个人想要看到消息mi,如果看到就做出贡献1,没有就贡献0//同时第i个人最多可以看ki条信息//问:最多投放多少条信息,使得(贡献/信息总数)最大,并输出具体是哪些信息//原因ki

2021-11-24 19:46:06 452

原创 2021-11-12--《21-22-1蓝桥训练6》

**2021.10.29–《21-22-1蓝桥训练6》**题目D:算法提高 连接乘积题意:就是问哪些数字numnumnum,numnumnum去乘上(1、2、3...n)(1、2、3...n)(1、2、3...n),得到的结果可以组成一个数字1到9的全排列。这里的n任取。思路:直接暴力解决,我们知道1到9的全排列最大也才987654321987654321987654321,这只需要一个很小的数字为底,去依次乘上(1、2、3...n)(1、2、3...n)(1、2、3...n),同时每次乘

2021-11-12 22:42:35 651

原创 2021.10.29--《21-22-1蓝桥训练4》

2021.10.29–《21-22-1蓝桥训练4》题目1、试题 算法训练 字串统计思路:n的范围才60,直接无脑暴力,枚举所有长度>=m的字符串,找出符合题意的那一个就行了。#include<bits/stdc++.h>using namespace std;int n,mx;string s,now_s,max_s;map<string,int>mp;int main(){ cin>>n>>s; while(n&lt

2021-10-29 21:39:01 285

原创 2021.10.22--《21-22-1蓝桥训练3》

2021.10.22–《21-22-1蓝桥训练3》题目情况:第一题:数据出锅了(根据数据写代码)第二~四题:语法题第五题:区间dp第六题:kmp求最小循环节个数题目1、试题 算法提高 输出正反三角形解法:数据有锅,这里给出一份根据数据写的ac代码和一份根据题意写的代码(不知道是否正确)根据数据写的ac代码#include<bits/stdc++.h>using namespace std;int main(){ int m,n,i,j; scanf("%

2021-10-22 20:30:43 332

原创 P3157 [CQOI2011]动态逆序对

P3157 [CQOI2011]动态逆序对前言:本题有很多种写法:分块,树状数组套线段树,kdtree等等,但这里采用CDQ分治的方法来解决问题。本文只会给出CDQ分治的解题思路和代码,详解解释可以去看看其他博文。题目:默认看到这里的聚聚们都会CDQ分治了,下面给出思路和代码//思路:// ①:题目要求我们求动态逆序对,同时题目又出现在cdq分治里面,自然而然地想到要用CDQ分治去作答// 开始我们就已知了位置、价值这两维。此时还缺少第三维,看到题目是动态带修改的,自然想到可以

2021-09-24 15:44:35 187

原创 基础计算几何

前言:匡斌这套基础计算几何挺仁慈的 ,感觉没有卡一些奇奇怪怪的东西,大家应该可以随便切,这里会提供所有题目的代码,以及提供部分的题思路。目的主要是骗阅读量。题目文章目录TOYS[Toy Storage](https://vjudge.net/problem/POJ-2318)Segments[Intersecting Lines](https://vjudge.net/problem/POJ-2318)[The Doors](https://vjudge.net/problem/POJ-2318)[P

2021-09-10 20:26:05 1158 2

原创 POJ - 2826 An Easy Problem?!

计算几何好题,神学过题POJ - 2826 An Easy Problem?!题意:t组数据。每组数据给你两根棍子,天上会下雨,问两根棍子组成的图形最多可以装多少水思路:其实要求两根棍子组成的图形,开口向上的可装水三角形的面积步骤1:①:特判掉存在有棍子与x轴平行的情况②:特判掉两根棍子没有交点的情况③:特判掉两根棍子平行的情况步骤2:求出两根棍子的交点inter,并找出两根棍子中y值大于交点y值的所有端点cnt,存在dot数组里面只有y值大于交点y值的才可能做出贡献(0<=cnt&

2021-09-03 21:05:50 259 3

原创 POJ - 1696 Space Ant

求二维凸包方法的灵活运用POJ - 1696 Space Ant 题意:从y坐标最小的点,如果有多个点,那么在选x坐标最小的点,作为起点。只能左转或直行不能右转,不能回头问最大的能够经过的点的个数,和输出依次经过的顺序思路:步骤1:先找出起点步骤2:小数据,直接暴力。for循环一次,其中每次sort(p+i,p+n+i,cmp),从i开始是因为其前面的点已经按照顺序排好序了。同时cmp这里类似求二维凸包的基础做法去就写了,注意共线情况特殊处理,使距离近的靠前。使得该次去达的点排第一个就行(这里

2021-09-03 01:53:09 230

转载 悬线法dp

悬线法dp出处:【转】【最大子矩阵问题】【悬线法】 学习笔记注:已经有大佬的发了详解,搬过来方便以后复习学习材料:王知昆《浅谈用极大化思想解决最大子矩阵问题》【最大子矩阵问题】在一个给定的矩形中有一些障碍点,找出内部不包含障碍点的、轮廓与整个矩形平行或重合的最大子矩形。【定义子矩形】有效子矩形:内部不包含障碍点的、轮廓与整个矩形平行或重合的子矩形。极大子矩形:每条边都不能向外扩展的有效子矩形。最大子矩形:所有有效子矩形中最大的一个(或多个)。【极大化思想】在一个有障碍点的矩形中最大子矩

2021-08-28 11:33:57 168

原创 2021-08-062022蓝桥杯暑假练习赛4

**2022蓝桥杯暑假练习赛4**注:模板题场1、试题 算法提高 数的划分求完全背包的方案数模板题#include<bits/stdc++.h>using namespace std;int n;int dp[105];int main(){ cin>>n; dp[0]=1; for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++){ dp[j]+=dp[

2021-08-06 16:56:11 285

原创 2022蓝桥杯暑假练习赛3

2022蓝桥杯暑假练习赛3全是暴力或模拟题目:1、试题 算法提高 栅格打印问题解题方法:1、特判掉(n<=1&&m<=1)的特殊情况2、总共需要输出2n+1行,2m+1列。 根据题意输出时讨论当前行列的奇偶就行了。#include<bits/stdc++.h>using namespace std;int n,m;int main(){ cin>>n>>m; if(n<=1&&m&lt

2021-08-02 00:20:49 324 5

原创 2021.5.29 2022蓝桥杯练习赛4

2021.5.29 2022蓝桥杯练习赛4闲话:1、就难度而言,本次比较简单,应该可以轻松做完4到5题。考了贪心、模拟、矩阵快速幂、二进制的相关知识。2、就体验而言,题面不好看,解释的较繁琐,差评。3、本次做题十分快乐。题目1、试题 算法提高 交换Easy解析:在读入数据后,可以通过swap(l,r)直接交换位置的值;当然也可以手写交换。#include<bits/stdc++.h>using namespace std;int n,m;int a[1005];int

2021-05-29 21:31:06 712 1

原创 2021.5.22 2022蓝桥杯练习赛3

2021.5.22 2022蓝桥杯练习赛3闲话:1、就难度而言,本次练习赛题目整体比较简单,要是认真补了前两场的题,应该可以轻松做完4到5题。2、就体验而言,这场练习赛数据普遍交弱,基本上瞎搞都能过。3、遇到不会的多问,CCSU_MI大佬,CCSU_JPanel大佬。4、本次做题过程十分快乐。题目1、试题 算法训练 矩阵加法解析:对应位置相加可以了,学了线代的都知道,没学的也知道。#include<bits/stdc++.h>using namespace std;int

2021-05-22 21:34:06 2009 12

原创 2021.5.14 2022蓝桥杯练习赛2

2021.5.14 2022蓝桥杯练习赛2闲话:1、就难度而言,练习赛2较练习赛1有了一定的提高,可能开始会有点不太自信,但这是属于正常现象,多练就会做了。2、就体验而言,这场练习赛有一两个题需要认真读题,题目没有想的那么简单,还是有一定思考和有一点小坑的 。3、没什么,昨天是2021年5月13号,需要记住的日子。题目1、试题 算法训练 筛选号码解析:本题真的是一道在经典不过的题目了,解题是应该要看一眼就知道这是裸的约瑟夫环问题,直接上公式就可以了。当然厉害一点的也可以去模拟这个过程,数据n&

2021-05-14 21:57:16 2429 17

空空如也

空空如也

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

TA关注的人

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