icpc
文章平均质量分 62
CofDoria
这个作者很懒,什么都没留下…
展开
-
树链剖分简介【轻重链剖分】洛谷P3384
模板题:洛谷P3384传送门树链剖分可以做到 O(logn)O(logn)O(logn)修改树上两点之间的路径上所有点的值、 查询树上两点之间的路径上节点权值的和/极值(就是线段树能干啥它能干啥)。当然前置知识就是dfs\text{dfs}dfs和线段树。树链剖分有重链剖,长链剖,还有只听过的实链剖(看oiwiki所知,Link/cut Tree所用),一般未特指都是重链剖分。定义重子节点表示其子节点中子树最大的子结点。多个最大子节点取其中一个作重儿子即可。轻儿子作为重链顶点,一个轻儿子和多个重儿子原创 2022-05-04 23:52:53 · 318 阅读 · 0 评论 -
Codeforces Round #784 (Div. 4)题解 (第一次AK cf (XD
虽然是Div.4,但是第一次AK,还是有点小激动A. Division?模拟#include <bits/stdc++.h>using namespace std;string f(int n) { if (n <= 1399) return "Division 4"; if (n <= 1599) return "Division 3"; if (n <= 1899) return "Division 2"; return "Di.原创 2022-04-22 00:13:09 · 567 阅读 · 0 评论 -
2021-2022 ICPC, NERC, Northern Eurasia Onsite C,D,L题解
题目链接 https://codeforces.com/contest/1666文章目录C Connect the PointsD Deletive EditingL LabyrinthC Connect the Points题意给出三个点,找任意条平行x轴或y轴线段,使得线经过3个点,且线段长度和最小。思路手玩可以发现,线段和最长可以不超过3点x坐标最大差值加上3点y坐标最大差值,所以我们可以找到y坐标第二大的点,过它作一条从x最小值到x最大值的平行x轴线段,然后从另外两个点作到这个线段的垂线原创 2022-04-14 00:19:11 · 1719 阅读 · 1 评论 -
第46屆ICPC 東亞洲區域賽(澳門)46届澳门站 C题 计算几何+双指针
第46屆ICPC 東亞洲區域賽(澳門)第46届ICPC亚洲区域赛 澳门站 C题题解 解法:计算几何+双指针原创 2022-04-06 13:04:31 · 896 阅读 · 0 评论 -
浙江工业大学第十九届“杭银理财杯”大学生程序设计竞赛暨全国邀请赛 部分题解
7-6 Tree Game构造,从叶子节点开始 dfs同时涂色即可保证最多一个ugly node#include <bits/stdc++.h>using namespace std;#define ll long long#define bug printf("***********\n");#define endl "\n"const ll N = 3e5 + 7;int n, k;vector<int> road[N];int du[N];bool is原创 2022-03-20 19:36:09 · 1479 阅读 · 8 评论 -
2021/10/10 CCPC第二场网络赛 1011-Jumping Monkey
思路Accepted Code#include <bits/stdc++.h>using namespace std;int n, u, v;vector<int> mp[100005];int f[100005];inline int findf(int x) { return (f[x] == x ? x : f[x] = findf(f[x])); }vector<pair<int, int>> q;vector<int>原创 2021-10-11 00:07:57 · 275 阅读 · 0 评论 -
luogu P2568 GCD 题解 (欧拉筛+欧拉函数)
[ 传送门 ] 题面题意很简洁,给定正整数 nnn,求 1≤x,y≤n1\le x,y\le n1≤x,y≤n 且 gcd(x,y)\gcd(x,y)gcd(x,y) 为素数的数对 (x,y)(x,y)(x,y) 有多少对。思路对于 gcd(x,y)\gcd(x,y)gcd(x,y),本质就是找 xxx 和 yyy 的最多公有的质因子。所以 gcd(x,y)\gcd(x,y)gcd(x,y) 为素数本质是只有一个公有质因子。我们可以对每个素数(即质数)找到与之乘积最接近 nnn 且不大于 .原创 2021-08-23 17:20:37 · 198 阅读 · 0 评论 -
Codeforces Round #735 (Div. 2) C. Mikasa 题解
C. Mikasa 传送门Accepted code#include <bits/stdc++.h>using namespace std;#define ll long longvoid print(int i) { int ok = 0; if(i & 1) ok = 1; if(i >> 1) print(i >> 1); printf("%d", ok);}ll t, n, m;ll ans = 0;原创 2021-07-30 09:49:22 · 198 阅读 · 0 评论 -
Codeforces Round #731 (Div. 3) A - D 题解
A.Shortest Path with Obstacle思路起点、终点和障碍在同一直线,且障碍在起点终点之间则要多走 222 步绕开障碍Accepted code#include <bits/stdc++.h>using namespace std;int t;int sx, sy, fx, fy, tx, ty;int main() { scanf("%d", &t); while (t--) { scanf("%d%d", &am原创 2021-07-11 01:18:26 · 177 阅读 · 0 评论 -
2021第十二届蓝桥杯B组 C++省赛第二场题解
题面:[ 传送门 ]A 求余签到题B 双阶乘#include<bits/stdc++.h>using namespace std;#define ll long longll gcd(ll a,ll b){ return b==0?a:gcd(b,a%b);}int main(){ ll ans=1; for(int i=1;i<=2021;i+=2){ ans*=i; ans%=100000; } cout<<ans; return原创 2021-05-09 16:50:19 · 732 阅读 · 6 评论 -
2021第十二届蓝桥杯C++ B组省赛第二场题面
个人题解:[ 传送门 ]原创 2021-05-09 16:13:49 · 1040 阅读 · 8 评论 -
算法竞赛入门经典训练指南(蓝书)Ping pong(UVaLive4329)树状数组
题意在一个序列中,存在三个数为升序摆放或降序摆放,则这三个数可以视作能够举行比赛。问比赛的种数。ps.升序或降序表示两个运动员之间的人中有人可以充当裁判,同时两个运动员愿意去裁判家中比赛。思路若 a1a_1a1 到 ai−1a_{i-1}ai−1 有 bib_ibi 个数比 aia_iai 小,那么就有 i−1−bii-1-b_ii−1−bi 个数比 aia_iai 大。所以我们可以记录 aia_iai 左边比 aia_iai 小的数与 aia_iai 右边比 aia_iai 小原创 2021-03-08 17:12:49 · 328 阅读 · 1 评论 -
Educational Codeforces Round 105 (Rated for Div. 2) B. Berland Crossword 题解
题意给出五个数 n,U,R,D,Ln,U,R,D,Ln,U,R,D,L,代表一个 n×nn \times nn×n 的网格最上层黑格个数(U)(U)(U),最右列的黑格个数(R)(R)(R),最下层的黑格个数(D)(D)(D)和最左列的黑格个数(L)(L)(L)。求这样的网格是否存在。思路对四个角的网格的所有可能判定是否存在。四个角的网格所有可能的枚举可以用 bitsetbitsetbitset 来实现。Accepted code/* * @Autor: CofDoria * @Date: 2原创 2021-03-06 14:42:22 · 115 阅读 · 0 评论 -
第八届“图灵杯”NEUQ-ACM程序设计竞赛题解报告 [A题待补]
→ 比赛传送门 ←ABCDEFGHIJKL○√√√√○○√√√○√√ 表示已完成,○表示待补B 小宝的幸运数组题意定义一个和能被幸运数字整除的数组被称为“幸运数组”现给幸运数字 kkk 和长度为 nnn 的数组 aaa,求最长的幸运子数组。思路首先求出数组 aaa 的前缀和数组,然后对前缀和数组的各位对 kkk 取模运算。先记录各种模数最先出现的位置,再找最后出现的相同模数的位置并维护幸运子数组长度的最大值。Accepted原创 2021-01-31 22:07:07 · 194 阅读 · 1 评论 -
牛客小白月赛31 [ C,D,G,H,I ] 题解报告
[原题传送门]C.图像存储题目数字图像是一个由“0”和“1”这两个元素组成的矩阵,除去边角上的元素,每个元素都有上下左右相邻的四个元素。再一个数字图像中,元素“0”代表空白,只有元素“1”所在的位置才有一个黑点。由此,一副黑白的图像得以显现。为了能在更少的空间里存储更多的图像,一个可行的办法就是每种相同的黑块只保留一个,其他的地方只保留位置,这样便实现了压缩。查看时,只需将保留的黑块拓印到其它的位置,这样就实现了图像的复原。可见,该技术的关键就是对不同的黑块进行记录。我们把由若干个相邻的“1”构成原创 2021-01-11 03:14:34 · 376 阅读 · 0 评论 -
武汉工程大学第三届ACM程序设计新生赛(多校联赛)2020/11/21题解报告
本题解按本人出题顺序排列A 如何才能防AK题目描述AKAKAK, AllAllAll-KilledKilledKilled的缩写,指在比赛中解出了所有的题目。通常在ACMACMACM比赛中出题人会出111~222道非常难的题目来防止有人AKAKAK,以体现出出题人的水平高超,这些题目被称为“防AKAKAK题”。此次的新生赛中kcxz是出题者的一员,kcxz知道这次比赛会有大佬参赛,所以如何出防AKAKAK题成为了令kcxz头痛的事。现在kcxz对过题数目进行一个简单的模拟,请你根据每个选手的过题数来原创 2020-11-21 21:02:08 · 980 阅读 · 0 评论 -
新生训练第二场 K 手机号码
传送门题目奶牛BessieBessieBessie最近买了一台手机,它的手机号码是:133003030031330030300313300303003,手机号码由111111个数字组成。BessieBessieBessie最近在上电脑课学了【复制】和【粘贴】,于是它打开wordwordword软件,把它的手机号码复制,然后粘贴了NNN次。例如NNN=111时,是这样:133003030031330030300313300303003 。又例如NNN=222时,是这样:133003030031330030原创 2020-11-11 21:42:15 · 900 阅读 · 0 评论 -
黑书-POJ-2528 Mayor‘s posters (自写lazy-tag,1000ms惊险过题)
题意nnn(nnn<=10000) 个人依次贴海报,给出每张海报所贴的范围lil_ili,rir_iri(1<=lil_ili<=rir_iri<=10000000) 。求出最后还能看见多少张海报。输入描述第一行: 样例个数 TTT对于各样例第一行: 贴海报的人nnn接下来nnn行: 每个人贴海报的范围输出描述各样例一行,输出可以看见的海报个数思路使用线段树储存每个海报的范围,线段树的精髓就是能使用根节点就不使用叶子节点,减少下探的次数,减小算法复杂度原创 2020-11-09 16:13:56 · 100 阅读 · 0 评论 -
HDU-1166:敌兵布阵(线段树入门必做)
传送门目录敌兵布阵题目输入描述输出描述exampleinputoutputAccepted code敌兵布阵题目C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战原创 2020-11-08 21:35:17 · 423 阅读 · 0 评论 -
UVa1347 Tour C++记忆化搜索
virtualjudge地址题意有111到nnn,nnn个点。设计一条路线从111开始走到nnn,再从nnn走回111,除点111经过222次以外,其他点能且只能经过111次。现给你点的个数nnn,和每个点的横纵坐标 xix_ixi, yiy_iyi,问在此规则下最短路径为多少?思路可以将问题看成两个人从111出发,最终都走到nnn的最短路,同时每个点都要被第一个人或第二个人的其中一人经过。所以可以设计状态为 DP(i,j)DP(i,j)DP(i,j)为计算两个人从第iii个点和第jjj个原创 2020-10-07 17:45:39 · 122 阅读 · 0 评论 -
ICPC Northeastern European Regional Contest 2019 签到题-B.Balls of Buma
Balph is learning to play a game called Buma. In this game, he is given a row of colored balls. He has to choose the color of one new ball and the place to insert it (between two balls, or to the left of all the balls, or to the right of all the balls).Wh原创 2020-09-02 16:32:31 · 281 阅读 · 0 评论 -
Codeforces Round #662 (Div. 2) [ A , B ] 题解报告
文章目录A. Rainbow Dash, Fluttershy and Chess ColoringInputOutputExampleinputoutputNote思路my Accepted codeB. Applejack and StoragesInputOutputExampleinputoutputNote思路my Accepted code[contest link]A. Rainbow Dash, Fluttershy and Chess ColoringOne evening Rain原创 2020-08-08 11:41:37 · 260 阅读 · 0 评论 -
2020牛客暑期多校训练营(第八场)K - Kabaleo Lite 题解
[原题传送门]Tired of boring WFH (work from home), Apollo decided to open a fast food restaurant, called Kabaleo Lite\textbf{Kabaleo Lite}Kabaleo Lite.The restaurant serves n kinds of food, numbered from 1 to n. The profit for the i-th kind of food i原创 2020-08-03 20:00:26 · 390 阅读 · 0 评论