![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ACM-区域赛/网络赛
文章平均质量分 66
ACM-区域赛/网络赛,包括codeforces
nefu-ljw
这个作者很懒,什么都没留下…
展开
-
2020-2021 ICPC 银川站【ACMer退役纪念】
2021年5月16日,下午两点钟,随着最后的倒计时10秒钟后,5个小时的比赛落下了帷幕,我的ACM生涯也落下了帷幕,青春在此结束。三年ACM生涯,在此最后一战,最终榜单4题银到铜,我们4题罚时靠后,以铜牌落幕。虽有遗憾,但无后悔,这段时光没有虚度。上大学才知道Hello World是什么,从零基础开始学到现在,感谢算法竞赛带来的一切,无论是冥思苦想不得其解的痛苦也好,还是苦想几天后终于顿悟的快乐也好,又或是和队友一起打codeforces、牛客、训练赛等等,都是难以忘却的回忆。原创 2021-05-17 17:21:55 · 5380 阅读 · 25 评论 -
2021年度训练联盟热身训练赛第八场 B题 Gene Tree【树中所有叶结点之间的距离平方和】
2021年度训练联盟热身训练赛第八场 B Gene Tree题意很简单:求树中所有叶结点之间的距离平方和(树根也看作叶结点)。对于树根root,取两个叶结点x,y,设其距离为dis(x,y),则有:dis(x,y)=dis(root,x)+dis(root,y)−2∗dis(root,lca(x,y))dis(x,y)=dis(root,x)+dis(root,y)-2*dis(root,lca(x,y))dis(x,y)=dis(root,x)+dis(root,y)−2∗dis(root,lc原创 2021-05-12 23:27:49 · 326 阅读 · 0 评论 -
2020-2021 ACM-ICPC Brazil Subregional Programming Contest E题 Party Company【树上倍增+树状数组维护】
题目链接https://codeforces.ml/gym/102861/problem/E题意给你n个结点的树,每个点有一个权值,保证所有父节点的权值大于等于其子结点的权值,再给你m个范围为[l,r]的party和它们所在的点(the owner of this party)。对于某个点u,若其直接相连的父结点或子结点有party 且 u点权值在其父结点或子结点的party的[l,r]范围内,那么点u就加入该party。问:每个点加入的party个数。思路将左端点和右端点的限制分开来考虑。首先原创 2021-05-12 15:18:28 · 27834 阅读 · 1 评论 -
2018 ICPC焦作站 F题 Honeycomb【bfs】
题目链接:https://codeforces.com/gym/102028/problem/F这题就是输入处理比较恶心,先写个gets(mp[x]+1) 本地没问题,oj的编译器直接报错,真玄学,后来改成cin.get加上getline就行了。我处理数组是把范围(4n+3,6n+3)映射到(n,m),最后就是bfs(之前竟然还想着最短路,压根没必要)还有就是vis数组清空写成for循环而不是memset,就能快一倍原创 2021-05-10 23:46:32 · 267 阅读 · 0 评论 -
2019-2020 ICPC, Asia Jakarta Regional Contest K题 Addition Robot【线段树维护矩阵积】
题目链接https://codeforces.com/problemset/problem/1252/K思路初始a,b值写成矩阵,操作a=a+b和b=a+b也写成矩阵,则如下:a=a+b即[ab00]∗[1011]=[a+bb00]a=a+b即\left[ \begin{matrix} a & b\\ 0 & 0 \end{matrix} \right]*\left[ \begin{matrix} 1 & 0\\ 1 & 1原创 2021-05-09 16:35:51 · 276 阅读 · 0 评论 -
“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛 D题 扔硬币【组合数+逆元】
D题 扔硬币用概率公式计算可算出在有解的情况下:ans=C(n,k)C(n,m)+C(n,m+1)+...+C(n,n)%modans = { \frac{C(n,k) }{C(n,m)+C(n,m+1)+...+C(n,n)} \%mod} ans=C(n,m)+C(n,m+1)+...+C(n,n)C(n,k)%mod然后求组合数取模,由于除法不能直接取模,需要求逆元,根据费马小定理,mod是质数,x对mod的乘法逆元就是x的mod-2次幂。至于求组合数,用公式 C(n,m)=n!m!∗(n−m原创 2020-05-31 19:34:41 · 684 阅读 · 0 评论 -
2019 ICPC南京站 B题 Chessboard【组合数,乘法逆元】
神仙思维题。原本的暴力想法是,把n*m矩形当中选一个起点进行扩展判断是否合法(用这想法打表代码都难写);题解思路是,从一个1*1的矩阵扩展行和列变成n*m的矩形,计算组合数。本题要找到一个很巧妙的特点:如果当前被染色的区域是个矩形,那么最后一个被染色的点,一定在角上。最开始是1*1的矩形,也可以认为它是一个角,每次把它进行扩展一层,则行数+1 或者 列数+1,直到变成n*m的矩形。行扩充n-1次,列扩充m-1次,总共扩充n+m-2次,扩充方案显然为C(m+n−2,n−1)C(m+n-2,n-1)C(原创 2021-05-08 22:15:19 · 677 阅读 · 0 评论 -
2017 ICPC沈阳站 G题 Infinite Fraction Path【多源BFS+剪枝】
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=6223思路用优先队列进行BFS,优先队列中记录当前点的层数、点的值、点的编号,按层数从小到大排序,若层数相同则按点值从大到小排序。最开始把数组中所有权值等于最大值的点放入优先队列 (相当于有多个起点,即多源BFS), 然后开始逐层扩展,考虑两个剪枝:同层只取所有权值等于最大值的点。(小于最大值的直接跳过,不再扩展)同层若出现了多个相同编号的点,只留一个。(因为本题中每个点的后继是唯一的,那么多个相同编原创 2021-05-08 14:11:02 · 230 阅读 · 0 评论 -
2021年蓝桥杯省赛第一场 C++ A组 个人部分题解
NOTE:没对答案,考场上的代码,不一定对,大佬们轻喷A题 卡片(5分)#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=10,M=1e7,inf=0x3f3f3f3f;int vis[N+10],a[N+10];bool judge(int x){ string s=to_string(x); memset(a,0,sizeof(a)); for(i原创 2021-04-18 18:58:59 · 14603 阅读 · 50 评论 -
2021年度训练联盟热身训练赛第五场 H题 In-place Sorting【贪心构造】
题目链接https://ac.nowcoder.com/acm/contest/13926/H题意给你n个数字,你可以将每个数字中存在的6改成9,也可以9改成6,当然也可以选择不更改。你需要使得最后n个数字的排列是非递减的,若无法构造则输出impossible。思路贪心构造,使每个串在大于等于前一个串的前提下尽可能小。注意字符串之间的大小比较与数字之间大小比较的不同(以字符串形式输入数字)。依次遍历n个串,分情况构造:当前串长度 > 前一个串长度。那直接把当前串的所有9变成6就可以了,原创 2021-04-16 21:20:43 · 250 阅读 · 0 评论 -
Educational Codeforces Round 102 (Rated for Div. 2) A,B,C,D题【个人题解】
A. Replacing Elements#include <bits/stdc++.h>using namespace std;const int N=1e4+10;int a[N];int main(){ ios::sync_with_stdio(false); int T,n,d; cin>>T; while(T--) { cin>>n>>d; bool flag=0;原创 2021-01-15 12:18:34 · 1267 阅读 · 2 评论 -
2020年团体程序设计天梯赛-总决赛【个人部分题解】
第一次打这个,我以为是团体赛,实际上就是10个人单独打,然后分数相加,一个队的也不能交流,这不就是个人赛嘛…文章目录L1-1 嫑废话上代码 (5分)L1-2 猫是液体 (5分)L1-3 洛希极限 (10分)L1-4 调和平均 (10分)L1-5 胎压监测 (15分)L1-6 吃火锅 (15分)L1-7 前世档案 (20分)L1-8 刮刮彩票 (20分)L2-1 简单计算器 (25分)L2-2 口罩发放 (25分)原创 2020-11-28 18:29:58 · 13276 阅读 · 17 评论 -
2020年第十一届蓝桥杯大赛软件类决赛(国赛) C/C++ 大学A组【题面】
记录一下国赛的题面,真的和省赛完全不是一个难度的。这次估计国三都混不到,还是太菜了QAQ,之后如果能补题就补吧。题面的pdf文件我也上传到CSDN下载区了,内容和本篇文章一致(题面真长,我复制到markdown修改格式都搞了半天)文章目录试题 A: 合数个数(5 分)试题 B: 含 2 天数(5 分)试题 C: 本质上升序列(10 分)试题 D: 咫尺天涯(10 分)试题 E: 玩具蛇(15 分)试题 F: 皮亚诺曲线距离(15 分)试题 G: 出租车(20 分)试题 H: 答疑(20 分)试题 I:原创 2020-11-14 19:27:23 · 4740 阅读 · 5 评论 -
第45届国际大学生程序设计竞赛 亚洲网上区域赛模拟赛 I题 Character Wheels【模拟】
传送门:Character Wheels题意给你一个n*n的矩阵,保证n为偶数。从外向内总共n/2层,现在有m次操作,对于每次操作:选择其中一层向左(逆时针)或向右(顺时针)转动y次。输出当前的矩阵。思路直接模拟。如果要输出矩阵。对于每层,按矩阵的左上->右上->右下->左下的顺序维护一个线性表。要需要输出新矩阵则遍历该线性表,按其对应位置存入答案矩阵即可。如果要选择一层转动y次。设num=y%4,若num!=0,则向右转动num次,等效于向左转动4-num次。然后更原创 2020-10-31 22:24:39 · 1243 阅读 · 4 评论 -
2020.10.17 第十一届蓝桥杯大赛软件类省赛第二场 C/C++ 大学A组【个人题解】
试题下载:https://download.csdn.net/download/ljw_study_in_CSDN/12950921文章目录A题 门牌制作(5分)B题 既约分数 (5分)C题 蛇形填数(10分)D题 七段码(10分)【待补】E题 平面分割(15分)F题 成绩分析(15分)G题 回文日期(20分)H题 子串分值(20分)【待补】 I题 荒岛探测(25分)【待补】J题 字串排序(25分)A题 门牌制作(5分)#include <bits/stdc++.h>using name原创 2020-10-19 16:08:55 · 2363 阅读 · 3 评论 -
2019年第十届蓝桥杯省赛 C++大学A组 I题 糖果【状压dp】
传送门:AcWing 1243. 糖果思路状态压缩,将每包取的糖果集合压缩成一个二进制数,设第iii包糖果的二进制数为a[i]a[i]a[i]。dp[i]dp[i]dp[i]表示组成状态iii所需的最小包数。从状态jjj取第iii包糖果转移到的下一状态to=j∣a[i]to=j|a[i]to=j∣a[i],即:dp[to]=min(dp[to],dp[j]+1)dp[to]=min(dp[to],dp[j]+1)dp[to]=min(dp[to],dp[j]+1)AC代码#include <原创 2020-10-16 18:31:12 · 746 阅读 · 0 评论 -
2019年第十届蓝桥杯省赛 C++大学A组 G题 外卖店优先级【模拟】
传送门:AcWing 1241. 外卖店优先级 / 蓝桥杯2019年第十届真题思路将相同时刻的订单汇总到一起,然后遍历每个时刻。只考虑有订单的时刻,对于时刻iii,先汇总相同店的订单数,然后遍历所有订单,每个订单包含店的编号信息(假设店编号为ididid),维护店ididid上次出现订单的时刻(假设为last[id]last[id]last[id]),那么店ididid之前有 i−last[id]−1i-last[id]-1i−last[id]−1 的时间都没有订单,此时优先级需要先减去这段没有订单的原创 2020-10-14 12:26:31 · 369 阅读 · 0 评论 -
Educational Codeforces Round 96 (Rated for Div. 2) D. String Deletion【思维】
传送门:D. String Deletion题意给你一个长度为nnn,只包含0,1字符的字符串sss。你可以操作字符串,每次操作是由自己选一个位置iii并删除sis_isi,之后系统将会自动删除相同字符组成的最长前缀。问最多操作几次才把sss变成空串。思路先将字符串处理成相同字符数组成的数组,比如110010,相同字符数依次是2(‘11’),2(‘00’),1(‘1’),1(‘0’)。然后讨论第一段相同字符数,设其为prenumprenumprenum。prenum>1prenum>原创 2020-10-12 20:38:19 · 228 阅读 · 0 评论 -
2020年第十五届黑龙江省大学生程序设计竞赛 B. Bills of Paradise【线段树/树状数组+并查集】
传送门:B. Bills of Paradise题意给你一个函数,由它产生nnn个数a1...ana_1...a_na1...an,现在有qqq次操作,操作有以下四种:D x。标记大于等于xxx的第一个未标记的aia_iai;若没有,则不操作。F x。查询大于等于xxx的第一个未标记的aia_iai;若没有,则输出101210^{12}1012。R x。清除小于等于xxx的所有标记;若没有,则不操作。C x。查询小于等于xxx的所有未标记数之和;若没有,则输出000。思路n=1e原创 2020-10-09 10:48:06 · 1301 阅读 · 3 评论 -
Codeforces Round #675 (Div. 2) D. Returning Home【思维建图,最短路】
传送门:D. Returning Home题意在二维平面上,给你起点和终点的坐标,你从起点出发,每秒可以上下左右选个方向移动一格。平面上还有m个传送门,当前位置的 x或y 与任意一个传送门的 x或y 相同,就可以不花费时间立即到达该传送门。求起点到终点的最短时间。思路首先,对于走传送门,那么只移动了x或y;对于走终点,必须移动x和y。原创 2020-10-07 00:08:29 · 267 阅读 · 1 评论 -
Codeforces Round #675 (Div. 2) A,B,C
A. Fence任意三条边大于第四边即可构成四边形。#include <bits/stdc++.h>using namespace std;typedef long long ll;int main(){ ios::sync_with_stdio(false); int T; cin>>T; ll a,b,c; while(T--) { cin>>a>>b>>c;原创 2020-10-06 00:01:17 · 374 阅读 · 0 评论 -
2019-2020 ICPC, NERC, Northern Eurasia Finals L题 Lexicography【字符串构造】
传送门:L. Lexicography题意给你一个字符串,你需要把它分成n个长度为m的字符串,要求按字典序由小到大排序后,第k个字符串的字典序尽可能小。答案可能有多种,只需输出任意一种。思路首先排序原字符串,假设为sss。先考虑前k个字符串。按列填字符,举个例子:input6 5 6aabbbbccddefghzzzzzzzzzzzzzzzzoutputazzzzazzzzbczzzbczzzbdezzbdfgh就这个例子来说,n=6,m=5,k=6,第1列按字符串s原创 2020-10-04 21:01:32 · 298 阅读 · 0 评论 -
ACM-ICPC 2017 Asia HongKong I题 Count the Even Integers【Java大数,递归+记忆化】
传送门:Count the Even Integers题意求出杨辉三角前n层所有偶数个数,n最大到1050。思路打表找规律,设第n层(n从0开始)答案为an。a(0)=a(1)=0, a(2n) = 3a(n)+n(n-1)/2, a(2n+1) = 2a(n)+a(n+1)+n(n+1)/2.原创 2020-10-03 17:15:49 · 765 阅读 · 3 评论 -
2020牛客暑期多校训练营(第八场)I题 Interesting Computer Game【并查集,找环】
传送门:Interesting Computer Game题意给你n对数,在每对数当中只能选一个(或者不选),问最多能取多少个不同的数。思路用图论的思想建模。这相当于是一个有重边的无向图。对于每个连通分量,如果其中存在环(重边也算环),那么就可以取出这个连通分量内的所有点;如果不存在环,那么可以把这个连通分量想象成是一条链,最后的点取不到,最多只能取出连通分量点数减1。由于是无向图,要判断在连线的过程中是否出现了环,可以用并查集维护。AC代码#include <bits/stdc++.原创 2020-10-03 10:25:15 · 262 阅读 · 0 评论 -
Codeforces Round #673 (Div. 2) C. k-Amazing Numbers
C. k-Amazing Numbers我的思路和标程不太一样,用了排序和二分,复杂度大一些,O(n*logn)。统计相同两个数的距离,对于出现的每个数x,记录能覆盖所有x所需要的最小区间长度,记为len[x]。将len[x]与x捆绑到结构体里,用len[x]大小排序,之后用mi[i]记录1~i的最小x(前缀中最小的x)。最后在输出答案的时候,如果长度 i 小于min{len[x]},则输出-1,否则二分查找小于等于 i 的最大位置k,输出前缀最小x即mi[k]。以上是个人思路,说的比较绕,大家可以去原创 2020-09-30 21:05:51 · 177 阅读 · 0 评论 -
Codeforces Round #673 (Div. 2) D. Make Them Equal
D. Make Them Equal这题的思维与之前做过的一个cf题 CF658 C2.Prefix Flip 有些相似之处,都要求操作数小于某个值,思路是找一个中介。这题的中介就是a[1],因为a[1]%1==0一定成立,那么总是可以让a[1]作为被减数,把a[1]的数加给其他任何位置。(1)汇聚所有的数到a[1]。假设sum=∑i=1na[i]sum=\sum_{i=1}^n a[i]sum=∑i=1na[i]。先想办法把 a[i],i∈[2,n]a[i],i∈[2,n]a[i],i∈[2,n]原创 2020-09-30 20:28:55 · 1056 阅读 · 0 评论 -
Codeforces Round #674 (Div. 3) D. Non-zero Segments
D. Non-zero Segments这题就是找前缀和相同的两个下标,因为sum[r]-sum[l-1]=0则满足[l,r]区间和为0。直接正向遍历,每次找到一个相同的前缀和就清除之前做过的所有标记,答案+1,同时重新计数前缀和。#include <bits/stdc++.h>using namespace std;const int N=2e5+10;typedef long long ll;unordered_map<ll,bool>vis;int n,a[N]原创 2020-09-30 16:44:44 · 185 阅读 · 0 评论 -
超级码力在线编程大赛初赛 第2场 T1-T4题解
文章目录T3.五字回文T2.区间异或T1.三角魔法T4.小栖的金字塔T3.五字回文class Solution {public: /** * @param s: The given string * @return: return the number of Five-character palindrome */ int Fivecharacterpalindrome(string &s) { // write your code原创 2020-08-30 12:11:38 · 1942 阅读 · 0 评论 -
ICPC North America Qualifier Contest 2015 A题 All about that base【模拟进制转换,注意细节】
题目链接:https://nanti.jisuanke.com/t/44105题意题意就是给你一些四则运算的等式,等式的格式是 x op y = z,其中x,y,z都是字符串,表示某个进制下的数字,op是运算符,包括+,-,*,/。现在有1~36进制可供选择,你需要找到某个进制使得等式成立,输出满足等式的进制。其中,1~9进制用数字1-9表示,10~35进制用字母a-z表示,36进制用0来表...原创 2020-04-19 17:48:52 · 477 阅读 · 1 评论 -
Codeforces Round #627 (Div. 3) A,B,C,D题
Codeforces Round #627 (Div. 3) D. Pair of Topics离散化+树状数组,O(nlog(2n))复杂度,841ms。#include <bits/stdc++.h>using namespace std;const int N=2e5+10;int n,a[N],b[N],d[2*N],t[2*N],num1[2*N],num2[N];...原创 2020-03-13 00:06:22 · 622 阅读 · 0 评论 -
Codeforces Round #625 (Div. 2, based on Technocup 2020 Final Round)【A、B、C题】
A. Contest for Robots签到题,注意特判即可。#include <bits/stdc++.h>using namespace std;const int N=110;int n,s1,s2,ans,a[N],b[N];int main(){ ios::sync_with_stdio(false); cin>>n; fo...原创 2020-03-02 11:56:21 · 453 阅读 · 2 评论 -
大一东北赛选拔赛(2019.4.30)(未完待续)
A题 nefu 1829 寻找宝藏#include <bits/stdc++.h>using namespace std;typedef long long ll;struct node{ ll x,y;}a[1010],b[1010];ll n,ansx,ansy;int main(){ ios::sync_with_stdio(false); ...原创 2020-02-28 23:55:46 · 293 阅读 · 0 评论 -
Codeforces Round #624 (Div. 3) C. Perform the Combo
C. Perform the Combo先把操作排序,然后二分找大于等于当前 i 的操作数有多少,对应的字符加上这个数就行。#include <bits/stdc++.h>using namespace std;const int N=2e5+10;char s[N];int n,m,T,ans[30],p[N];int main(){ ios::sync_wi...原创 2020-02-25 00:50:15 · 452 阅读 · 0 评论 -
Codeforces Round #597 (Div. 2) D. Shichikuji and Power Grid【最小生成树+思维:构造虚拟点】
题目链接:http://codeforces.com/problemset/problem/1245/D思路把点权转化为边权,建一个“超级根”,设其编号为0,把它与原有的n个点相连,形成n条边,这n条边的边权被赋值为n个点的点权。剩下的所有边权依次存入数组即可。然后就是按所有边权从小到大排序,跑一遍最小生成树即可。(做的时候想到了可能和最小生成树有关,但是没有想到把点权转化为边权这种神奇...原创 2019-12-07 10:24:59 · 1136 阅读 · 0 评论 -
Codeforces Round #602 (Div. 2)(A/B/D1题)
A题#include <bits/stdc++.h>using namespace std;int t,n,l,r,mi,mx;int main(){ ios::sync_with_stdio(false); cin>>t; while(t--) { cin>>n; mx=0;mi=0x3...原创 2019-11-24 18:23:28 · 371 阅读 · 0 评论 -
大一训练赛(2019.4.13)【内容:二进制枚举、贪心、DFS】
本次训练共6题,本文附AC代码和题目链接。nefu 1803 二进制回文这题注意把n定义成unsigned long longint的范围为 -2^31 ~ 2^31 - 1long long的范围为 -2^63 ~ 2^63 - 1所以本题需要使用unsigned long long (0 ~ 2^64 - 1)#include <bits/stdc++.h>using...原创 2019-04-13 20:28:07 · 349 阅读 · 0 评论 -
湖南大学程序设计竞赛新生赛(重现赛)【2020.1.11】
比赛传送门:https://ac.nowcoder.com/acm/contest/3674#questionE题 Days passing我们很容易想到快速幂取模的解法。这题关键就是求nm%7的值,但是n比较大,最大是1010000,不是1e4(我是怎么看成1e4的?),所以要注意是字符串输入,输入的时候对7取模。#include <bits/stdc++.h>using ...原创 2020-01-11 22:57:01 · 2243 阅读 · 0 评论 -
大二周赛(二)(2019.9.27)【未完待续】
nefu 1535 我喜欢查找#include <bits/stdc++.h>using namespace std;map<int,int>vis;int n,m,x,a[100010];int main(){ ios::sync_with_stdio(false); cin>>n; for(int i=1;i<=n;...原创 2019-10-02 18:15:30 · 197 阅读 · 0 评论 -
大二周赛一(团队赛)(2019.9.20)
本次训练共7题。nefu 1528 数字游戏#include <bits/stdc++.h>using namespace std;typedef long long ll;ll n,k,sum,tmp,ans1,ans2,a[15];int main(){ tmp=1; for(int i=1;i<=12;i++)//先打表9~9999999999...原创 2019-09-21 12:42:28 · 277 阅读 · 0 评论 -
大一暑假集训最终考试(二)(2019.9.1)【未完待续】
nefu 1879 Alice和Bob的分组游戏(二)#include <bits/stdc++.h>using namespace std;int n,m,x,t,sum;int main(){ ios::sync_with_stdio(false); while(cin>>n>>m) { sum=0; ...原创 2019-09-04 20:36:13 · 186 阅读 · 0 评论