- 博客(34)
- 收藏
- 关注
原创 ABC397F简要题解
的状态设计方式,考虑固定住右端点时,维护每一个对应左端点的答案(这道题中为区间的出现数字个数)。基于这种状态设计,我们能通过线段树来维护固定住右端点的情况下对应左端点的答案序列。相关的常数,我们可以在线段树建立的时候作为初始值即可,通过线段树我们能够在。,而我们维护的信息为区间内出现的不同数字个数,那么只有原来没出现数字。是固定值,不影响最值,所以我们只需要求前两项和的最值。上一次出现的下标,那么需要对答案加一的左端点区间则为。的序列分成三段,使得三段内出现数字个数的和最大。的区间,都多出现了一次数字。
2025-03-20 14:02:22
532
原创 ABC395D/E/F简要题解
考虑固定住所有鸽巢,交换两个巢中的鸽子当作更换两个鸽巢的编号,记录每个位置的鸽巢编号,每个编号的鸽巢位于哪个位置,每个鸽子位于哪个位置,即可。,发现复杂度瓶颈在操作2,考虑优化操作2。条边的有向图,你每次可以花费。的代价使所有边反向,求从起点。的代价经过一条边,或者花费。次都是一样的,所以设立状态。的最短路之间的最小值即可。表示反转偶数次/奇数次到。对于所有点我们可以在。
2025-03-01 21:54:07
733
原创 ABC394E/F简要题解
个点的有向图的邻接矩阵,每条边的边权是一个小写字符。求任意两点之间的最短回文路径。的节点,接的四个节点一定是最大的四个儿子或者最大的三个儿子加父亲,取最大值就好。一开始把所有形成回文的边入队开始搜索即可。能够提供给父亲的最大子树大小。转移是最大的三个儿子的。如果两边都是相同字符那么可以扩展,至多入队搜索一次,每次搜索枚举扩展点。给定一个树,找到一个最大的只存在度为。考虑类似树的直径做法,令。考虑枚举每个点作为度为。
2025-02-22 21:48:37
298
原创 ABC393E/F简要题解
给定数组AAA,求包含元素AiA_iAi的大小为kkk的子集中最大的最大公约数。题解:首先思考对于整个数组所有包含kkk个元素的子集中最大的GCD是多少,可以怎么求。我们发现,如果一个数xxx,数组中如果存在至少kkk个数是它的倍数,那么我们一定可以找到一个大小为kkk的子集,使得xxx是这个集合的公约数。因为总的值域比较小,所以我们可以使用一个桶统计所有数字的出现次数,然后使用调和级数枚举的方式求出对于每个数iii,数组当中有多少数是它的倍数。如果一个数iii,满足它的倍数个数在数组AAA中的出现次数大
2025-02-15 21:54:57
955
原创 训练记录番外篇(3):2019-2020 ICPC Southeastern European Regional Programming Contest (SEERC 2019)
最后1h其实已经把AE两题思路都出来了,但是队友最终都没有vp的时候写完,可惜了。
2022-11-09 09:17:25
476
原创 组队训练记录(7):2021CCPC威海
The 2021 CCPC Weihai Onsite6题868罚时,rk47+。2022.10.24这场太久之前v了 ,中间有点忘了就不写概述了。
2022-11-09 09:02:08
924
原创 【写题记录】CFgym101194G kruskal重构树+树上倍增+树上启发式合并
两个点能可达之间只跟他们路径之间一条最大路径最小的路径相关。建立一颗kruskal重构树,树上倍增找到每个点能被合并的最高点。以这个点为根的子树就是所有可达的点。对于一个子树中占比最多的颜色时什么颜色是个经典问题(CF600E),线段树合并/树上启发式合并都可以通过。个人写了更习惯的树上启发式合并。的边能到达的所有点中最多的颜色编号是多少(多个颜色编号相同时输出编号最小的)。强制在线,多组输入。条边的无向连通图,每条边有一个边权,每个点有个颜色。点出发,只经过小于等于。
2022-10-26 22:05:54
661
1
原创 训练记录番外篇(1):2022-2023 ICPC Brazil Subregional Programming Contest
这个系列记录各种单人vp/组队vp省赛or外国区域赛的内容。也基本和之前一样只有简要解释和ac代码。
2022-10-17 15:02:14
2494
原创 The 2022 ICPC Asia Regionals Online Contest (II) (2022ICPC网络赛第二场)题解
刚打完,过了八题,先扔个代码。等pta上了之后写题解。
2022-09-25 18:25:58
2097
3
原创 The 2022 ICPC Asia Regionals Online Contest (I) (2022ICPC网络赛第一场)题解A,C,G,H,J,K,L
2022 ICPC网络赛第一场题解 更新中更新至A,C,G,H,J,K,L
2022-09-19 14:20:44
4808
5
原创 2022蓝桥杯c语言B组编程题题解
C:刷题统计先把整周的除掉,剩下看到一周的星期几#include<bits/stdc++.h>#define int long long#define endl '\n'#define mod 1000000007using namespace std; int n,m,k,ans;int a,b;void solve(){ cin>>n>>a>>b; ans=n/(5*a+2*b); n%=(5*a+2*b); for(int i=
2022-04-09 16:44:47
2521
原创 Namomo Spring camp 2022 Div1 Day3学习笔记(数据结构:单调栈/离线询问)
T0:Edu124 E. Sum of Matchings上课前讲的一道近期cf题目 待补。然后上课刚开始,dls大致介绍了一下树状数组上二分,待补。T1:abc234_g Divide a Sequence这道题的大致题意是,给定一个长为nnn的数组,我们可以对他进行一个划分,每次划分的valuesvaluesvalues是对所有部分的(最大值-最小值)进行累积。求所有划分的valuesvaluesvalues的累和。划分:在不删除、移动数组种任何元素的情况下,将数组分割成若干子数组如{[1,
2022-03-13 15:52:22
3122
3
原创 2022牛客寒假算法基础集训营4 L(容斥计数)
(此题为付费比赛题目)L.在这冷漠的世界里光光哭哭小红、对立和光三人在玩一个游戏。首先她们拿到了一个仅由小写字母构成的字符串。小红指定一个区间 [l,r],对立说出一个长度为 3 的字符串 s ,然后光需要回答出来,在这个区间中,一共有多少个 s 的子序列?光感觉很蓝瘦,于是想来求助聪明的你,让你帮她回答问题。输入描述:第一行输入两个正整数 n 和 q ,分别代表字符串长度和询问次数。第二行输入一个长度为 n 的、仅由小写字母构成的字符串t。接下来的 q 行,每行输入两个正整数 l 和 r
2022-02-09 02:12:38
1246
原创 Codeforces Round #756 (Div. 3) 个人代码
A. Make Even题意:给一个数字,每次可以选择一段前缀反转,问最少几次反转能变成偶数题解:如果一开始是偶数就是0,如果首位是偶数就是1,如果中间存在一位上的数是偶数那么则是2(先翻转一次将偶数转到首位),如果全都是奇数则不可能#include <bits/stdc++.h>using namespace std;int t,n;signed main(){ cin>>t; while(t--){ cin>>n; int ans1=0,ans2
2021-11-26 01:45:15
5147
7
原创 2021/11/21 ICPC沈阳站个人题解B,E,F,J(附赛时记录,另附赛后补题代码I,M)
E.Edward Gaming, the Champion题目大意:给定一个全是小写字符的字符串,找出有几个为 edgnb 的字串。题解:暴力模拟即可。#include <bits/stdc++.h>#define int long longusing namespace std;int n,m,ans;void solve(){ string s; cin>>s; string sr="edgnb"; for(int i=0;i+5&l
2021-11-21 19:51:48
9295
4
原创 2021/10/24 2021ICPC江西省赛 部分个人题解 A,B,H,K,L,J
KMany Littles Make a Mickle题目大意:有t组输入,每组输入一个n,一个m,表示有n层,第i层有i*i个房间,每个房间有m个人,求有多少人。题解:数据小,暴力求和即可(也可直接输出i^2求和公式但是赛时没想那么多)#include <bits/stdc++.h>#define int long longusing namespace std;signed main(){ int t = 0; cin >> t; int n,m;
2021-10-24 01:59:22
5315
原创 2021/9/25 ICPC网络赛第二场题解
G题题目大意:第一行给个n,t,接下来给n行每行一个ai,bi,求下式的极限一开始没看这道题,后面队友跟榜看到过了一车人就开这题,显然把ln(1+bix)泰勒展开一下分子就变成一个多项式,然后按照正常判断极限的的方式判断输出就好了。代码难度也比较低,10min写完。(这题好像没有出先输出小数的情况,我的代码对于出现小数的结果应该是会wa的但是还是一发过了)化出来的式子#include <bits/stdc++.h>#define int long longusing namespa
2021-09-26 16:34:38
1980
2
原创 2021/9/19 icpc网络赛A,D题解+赛时记录
本篇前半部分是(赛时)我写的题(有三道,但是有道签到就不放出来了)后半部分是个人的五个小时记录吧A .A Busiest Computing Nodes题目大意:给定k个电脑和n组文件,电脑的编号是0 ~ k-1,文件的编号是0 ~ n-1每个文件开始时间为 at,需要运行时间为pt,一台电脑同时只能处理一个文件。对第i个文件,将从( i % k )台电脑开始,(向后环状)找到第一台未运行的电脑,将文件放入电脑处理,若无可放入电脑则将文件丢弃,从小到大输出处理最多文件的电脑编号。1 ≤ k ,
2021-09-22 03:27:25
2860
原创 UCF Local Programming Contest Round 1A---F题题解(带权活动选择dp)
UCF Local Programming Contest Round 1A—F题题解(带权活动选择dp)题目链接:Trading Cards题意简介:第一行有两个输入,t,p分别表示有t场考试,p个学生。接下来的t行输入,每行输入一个考试的三个属性,s,e,a,分别表示考试在s的时候开始,e的时候结束,这门考试满分a分。再接下来有p组输入,每组输入有t行,第i组第j行表示第i个学生在第j个考试上能取得分数占总分数的百分比。最终需要输出成绩最好的三名学生的序号和成绩题目给的数据范围是(1 ≤
2021-07-20 17:06:10
287
原创 2021-06 个人复习用题
2021-06 个人复习用题六月份期末考试,攒了一些题目理了一下(有的题目可能忘掉了),补一下这部分题目的题解。一、河南省第十三届ICPC大学生程序设计竞赛—J甜甜圈这道题是树状数组的模板题,但是可能因为太久没写了没想到经典的用树状数组维护区间内合法数个数,不多解释。#include<bits/stdc++.h>using namespace std;int n1,n2,n;int a[100005],que[100005],treea[100005];long long an
2021-07-19 19:31:17
259
1
原创 Codeforces Round #723 Div. 2个人代码
Codeforces Round #723 Div. 2个人代码写出来四题,开心QWQA. Mean Inequality题意:给一个数n,然后给2*n个数,让我们构造一个数列满足数列中任意一项都满足bi≠(bi−1+bi+1)/2其中满足相同的数最多n项题目解析:只需要先将数组内的数排序,然后依次以1,n+1,2,n+2…这样输出。#include<bits/stdc++.h> const int N=1e9+7;using namespace std;int n,t;i
2021-05-29 01:06:06
275
原创 Codeforces Round #719 (Div. 3)个人代码
Codeforces Round #719 Div. 3个人代码div3只写出来5题,要掉大分了呜呜呜A. Do Not Be Distracted!题意翻译过来就是让你判断是否有两个相同的字母没有连续,按照题目意思暴力来一遍就行了#include<bits/stdc++.h>using namespace std;int a[105];char s[105];int flag;int main(){ int n,t; cin>>t; while(t--){
2021-05-06 01:14:48
294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人