比赛题解
文章平均质量分 67
Race Code
EschatonAyane
风会带走我曾经存在过的证明
展开
-
2022.6.10 特长生模拟
201620162016 特长生目录:A.A.A.子数整数用%\%%和///取出每333位B.B.B.游戏问题每轮走mmm步 一共走m×10km\times 10^km×10k 所以相当于多走了(m×10k)%n(m\times 10^k)\%n(m×10k)%n步C.C.C.字串距离dpdpdp设fi,jf_{i,j}fi,j表示第一个串做了前 iii 位 第二个串做了前 jjj 位的最小距离那么就是fi,j=min{fi,j,fi−1,j+k,fi,j−1+k,fi−1,j−1+d原创 2022-06-11 14:55:33 · 161 阅读 · 0 评论 -
2022.6.9 特长生模拟
201220122012 特长生目录:A.A.A.安全密码直接循环×××B.B.B.农场主dpdpdp设fi,jf_{i,j}fi,j表示建了iii个马房 分配了前jjj只马的最小系数那么就可以再枚举一个kkk k原创 2022-06-11 11:19:46 · 109 阅读 · 0 评论 -
2022.6.7 特长生模拟
201720172017 特长生目录:A.A.A. 优美景点排序然后输出B.B.B.益智游戏搜索 注意可以一开始就添个负号C.C.C.工程拓扑排序 iii要等jjj做完就是从jjj到iii的边D.D.D.摆渡路线先破环成链 设fi,jf_{i,j}fi,j表示iii到jjj的最多保留的线路枚举中间点kkk 那么就是个区间dpdpdp 最后在加上两点间是否本来有答案就是fi,i+100−1f_{i,i+100-1}fi,i+100−1...原创 2022-06-08 20:52:42 · 104 阅读 · 0 评论 -
2022.6.6 特长生模拟
201820182018 特长生目录:A.A.A.密码问题构造最大最小数然后相减B.B.B.括号匹配问题先判匹配 再判是否符合规则 注意同级括号可以嵌套C.C.C.建学校问题设fi,jf_{i,j}fi,j表示前iii个村庄建了jjj个学校的最小代价 然后分别计算往前走和往后走的代价D.D.D.平板游戏问题分类讨论 注意柱子的距离是0.50.50.5 全部先×2×2×2...原创 2022-06-08 19:58:15 · 83 阅读 · 0 评论 -
2022.5.28 特长生模拟
其实就是 202020202020特长生题目录:T1.数学题T2.流星雨T3.K星人的语言T4.星座图T1.T1.T1. 数学题分析:高精加 处理负数 注意会有 −0-0−0 这种数据 特判CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;ty原创 2022-05-28 11:12:04 · 84 阅读 · 0 评论 -
【LGR-109】B.华胥之梦
分析:赛时题解i−>ji->ji−>j边权=ai−2×aj+c=a_i-2\times a_j+c=ai−2×aj+c 要最短就要使 aia_iai 小 aja_jaj 大由于是简单路径 直接按点集内点的aia_iai从小到大走就可以了CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<...原创 2022-05-14 17:31:35 · 169 阅读 · 0 评论 -
【LGR-109】A.走在夜晚的莲台野
分析:赛时题解每次尽可能用银的装满容器 然后填一个金的 每填一次容量就会减111所以用xxx个金木板可以填的银木板数 可以等差数列求和看剩下的银木板和金木板能否填满容器即可CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;typedef long lon...原创 2022-05-14 17:25:27 · 140 阅读 · 0 评论 -
牛客挑战赛60-D 三千道路【tarjan,拓扑】
linklinklink分析:注意到原图中出现环 那么在竞赛图中也可以存在 所以先缩点如果有大小为 222 的强连通分量 就不合法在竞赛图中 两个点之间都有联系 所以在原图中存在没有联系的点 就不可能构造竞赛图 那么合法情况就是一条链所以拓扑序判链即可CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue&..原创 2022-05-14 15:46:35 · 118 阅读 · 0 评论 -
牛客挑战赛60-B 尖端放电
linklinklink分析:发现找出一个点就可以breakbreakbreak了 所以O(Tk2)O(Tk^2)O(Tk2)可过CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;typedef long long ll;const int N=1e6+5;..原创 2022-05-14 10:31:51 · 217 阅读 · 0 评论 -
牛客挑战赛60-C 格点染色【计数】
linklinklink分析:设 fxf_xfx 为将前 xxx 点染黑的方案xxx是 fxf_xfx 最后被染色的 那fx=fx−1f_x=f_{x-1}fx=fx−1若不是 对于 [ax,x−1][a_x,x-1][ax,x−1] 的任意数ppp xxx都可以放在 ppp 的上一个染色的点与 ppp 之间染色 有 (x−ax)(x-a_x)(x−ax) 种取值 方案为fx−1×(x−ax+1)f_{x-1}\times (x-a_x+1)fx−1×(x−ax+1)所以 f.原创 2022-05-14 10:15:36 · 195 阅读 · 0 评论 -
牛客挑战赛60-A 第三心脏
linklinklink分析:一开始写数论 挂了 索性打个暴力发现过了(笑CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;typedef long long ll;ll a,b,ans;int T;ll gcd(ll a,ll b){return (!b.原创 2022-05-14 09:48:45 · 183 阅读 · 0 评论 -
【洛谷P7960】[NOIP2021] 报数【筛法】
Problem linkProblem~linkProblem link分析:筛子当前数xxx如果被标记 就跳过 看xxx是否含有777 如果有就把xxx的倍数都标记记录下下一个报的数即可CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll..原创 2021-12-18 09:31:25 · 389 阅读 · 0 评论 -
【洛谷P7076】[CSP-S2020] 动物园【位运算】
Luogu linkLuogu~linkLuogu link分析:考虑位运算先找所有已有的位 再记录所有有要求的位 再去找有哪些位 是可以满足要求的这样就会剩下一些 有要求 但是不能满足的位 设有ppp个 那么就有2p2^p2p种情况 减去全是000的 就是2p−12_p-12p−1其余位置即2k−p2^{k-p}2k−p种 注意这是不能要的 最后用总方案数2k−1×22^{k-1}\times 22k−1×2减去即可开unsigned long l..原创 2021-11-05 20:43:33 · 323 阅读 · 0 评论 -
【洛谷P7735】[NOI2021] 轻重边【树链剖分】
link\textcolor{pink}{link}link分析:树剖暴力修改修改时统计链上下部分的轻重划分 查询时判链上下端的值可维护timtimtim时间戳优化 总时间O(Tq log2n)O(Tq~log^2n)O(Tq log2n)要大力卡常CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include&..原创 2021-08-12 20:16:30 · 209 阅读 · 0 评论 -
#Aug.23rd 提高B组模拟赛T2 Cowski【bfs】
Poj linkPoj~linkPoj link分析:直接bfsbfsbfs 走到新的点就更新速度以及时间 注意走一步时间 t=svt=\frac{s}{v}t=vs 即1nowv\frac{1}{nowv}nowv1 用powpowpow可以处理负次方卡精度的出题人是????吗?CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring原创 2021-08-24 20:22:32 · 110 阅读 · 0 评论 -
【洛谷P2945】Sand Castle S【贪心】
分析:没啥好说的CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define OvO 0using namespace std;typedef long long ll;const int N=1e5+5;ll n,x,y,a[N],b[N],ans;int main(){ scanf(.原创 2021-08-24 20:12:02 · 100 阅读 · 0 评论 -
【洛谷P7528】Portals G【最小生成树】
linklinklink分析:很明显是kruskalkruskalkruskal 然后考虑把所有环合并起来的最小代价 那就是加的边的总和因为kruskalkruskalkruskal 按边权排过序 这样选的一定是最优的CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<vector>using namespac..原创 2021-08-24 16:00:11 · 97 阅读 · 0 评论 -
#Aug.20th 提高B组模拟赛T2 小喵喵的新家【线段树】
分析:扇形面积=p2m×πr2=\frac{p}{2m}\times \pi r^2=2mp×πr2 ppp为扇形所占的份数 最后答案乘上2mπ\frac{2m}{\pi}π2m 这样就化掉了要找的就是第k大半径 用ara_rar记录半径为rrr的数量 从[−m,m][-m,m][−m,m]扫过去 遇到起始点就将ar+1a_r+1ar+1 终点就ar−1a_r-1ar−1然后线段树维护CODE:#include<iostream>#include<cstdio>.原创 2021-08-23 21:33:55 · 80 阅读 · 0 评论 -
#Aug.20th 提高B组模拟赛T4 Tree【最小生成树】
分析:最小方差生成树发现cic_ici很小 可以考虑枚举平均值fff 按(ai−f)2(a_i-f)^2(ai−f)2排序建最小生成树 再每次求方差CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int N=2005;int n,m,fa[.原创 2021-08-23 21:20:53 · 75 阅读 · 0 评论 -
#Aug.20th 提高B组模拟赛T1 答题卡【模拟】
分析:大模拟对于ABCDABCDABCD在对应位置状态赋为111 然后分情况加上部分分或满分 注意全部未填要判断一下名字的第一个字母大写 不能直接将第111位转大写CODE:#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>using namespace std;const int N=155;int n,m,Allsc[N],Partsc[N...原创 2021-08-21 11:30:21 · 67 阅读 · 0 评论 -
【洛谷P7412】Year of the Cow S【贪心】
linklinklink分析:简单贪心因为每次都只能穿梭到121212的倍数 将年份全部/12/12/12 这样方便处理第一次跳到最远的祖先 然后停留时间就是 最远时间 减 穿梭时间 停留最短就要穿梭最长所以将年份排序后 穿梭时间就是相邻时间点的差 即bi=ai−1−aib_i=a_{i-1}-a_ibi=ai−1−ai因为这样bib_ibi肯定都<=0<=0<=0 将bbb从小到大排序 注意减去穿梭时间 要加CODE:#include<iostream&g.原创 2021-08-20 21:52:01 · 85 阅读 · 0 评论 -
【洛谷P7410】Just Green Enough S【容斥】
linklinklink分析:容斥 包含100100100的子矩阵 就是除去x<100x<100x<100的元素的子矩阵数 减 除去x<=100x<=100x<=100的元素的子矩阵数那可以给矩阵元素xxx一个状态 111表示>=100>=100>=100 000即<100<100<100可以先枚举任意点作为左上角 求全部子矩阵 然后将等于100100100的xxx的状态重新设为000 再跑一遍就求出不包含100100100子.原创 2021-08-20 21:26:33 · 155 阅读 · 0 评论 -
【洛谷P7411】Comfortable Cows S【dfs】
linklinklink分析:dfsdfsdfs 判断当前点四周是否有333头牛的情况 再相应填牛注意填了新牛可能会影响其他牛的舒适情况 就要再看填的牛的四周以及看添加的牛之前是否已填入 就要ansansans减111 并处理负数坐标CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const in.原创 2021-08-20 21:00:47 · 212 阅读 · 0 评论 -
【洛谷P7297】Telephone G【堆优化 Dijkstra】
link\textcolor{pink}{link}link分析:不用分层图 暴力做法就是 连边跑DijkstraDijkstraDijkstra但问题在于建图O(n2)O(n^2)O(n2) 那可以直接用给的矩阵 用一个新表记录pi,jp_{i,j}pi,j品种iii 第jjj个奶牛的位置对于松弛过的点 就可以不松弛了 然后跑小根堆优化DijkstraDijkstraDijkstraCODE:#include<iostream>#include<cstdio>#.原创 2021-08-19 21:35:48 · 93 阅读 · 0 评论 -
【洛谷P7296】Uddered but not Herd G【状压DP】
link\textcolor{gray}{link}link分析:将字符串分配大小后 发现若Si>=Si+1S_i>=S_{i+1}Si>=Si+1 在此处划分是最优的预处理iii与i+1i+1i+1划分的costcostcost 预处理将iii放入排列末尾的代价gi,stg_{i,st}gi,st于是简单状压dpdpdp处理ggg和ansansans即可CODE:#include<iostream>#include<cstdio>#incl.原创 2021-08-19 21:26:02 · 265 阅读 · 0 评论 -
【洛谷P7414】Modern Art 3 G【区间DP】
LuoguLuoguLuogu linklinklink分析:设fi,jf_{i,j}fi,j表示涂[i,j][i,j][i,j]的最少涂色次数 就是个sbsbsb区间dpdpdpCODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int N=305;int n,a[N],f[N][N];.原创 2021-08-18 15:49:38 · 155 阅读 · 0 评论 -
【洛谷P7416】No Time to Dry P【主席树】
Luogu link\textcolor{pink}{Luogu~link}Luogu link分析:一个显然思路:找出区间内颜色数量ansansans 如果如212212212这样中间会断开的情况 就要继续涂每个位置记录一个lasilas_ilasi表示左边第一个颜色相同的位置对于新的点 找出lasilas_ilasi到i−1i-1i−1的最小值MinMinMin 若Min<aiMin<a_iMin<ai 说明从lasilas_{i}lasi到ii..原创 2021-08-18 15:36:33 · 126 阅读 · 0 评论 -
2021.8.14 提高B组模拟赛
2021.8.142021.8.142021.8.14 纪中模拟赛目录:T1.Do You Know Your ABCsT2.AcowdemiaT3.United Cows of Farmer JohnT4.Maze Tac ToeT1:Do You Know Your ABCsT1:Do~You~Know~Your~ABCsT1:Do You Know Your ABCsLuogu linkLuo原创 2021-08-16 19:03:10 · 208 阅读 · 0 评论 -
2021.8.13 提高A/B组模拟赛
2021.8.132021.8.132021.8.13 纪中模拟赛目录:T1.BrothersT2.CrisisT3.WordT4.graphT1:BrothersT1:BrothersT1:Brothers分析:数据很小 直接模拟 一开始要全部+1+1+1 不然会WAWAWA 很奇怪CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring&g原创 2021-08-14 15:58:08 · 97 阅读 · 0 评论 -
2021.8.12 提高B组模拟赛
2021.8.132021.8.132021.8.13 纪中模拟赛目录:T1.幻象T2.树上摩托T3.矩阵T1:T1:T1:幻象Luogu link\textcolor{pink}{Luogu~link}Luogu link分析:之前做过 赛时切设pip_ipi为到iii的期望长度 fif_ifi为到iii的期望分数pi=(pi−1+1)×aip_i=(p_{i-1}+1)\times a_ipi=(pi−1+1)×aifi=fi−1+(pi2−pi−原创 2021-08-13 11:16:55 · 91 阅读 · 0 评论 -
2021.8.11 提高A/B组模拟赛
2021.8.112021.8.112021.8.11 纪中模拟赛目录:T1.积木T2.公路修建问题T3.字符串合成T1:T1:T1:积木分析:暴搜 + O2~+~O2 + O2可过 正解状压dpdpdpfst,i,k,lf_{st,i,k,l}fst,i,k,l表示状态ststst 最上面第iii块积木 k,lk,lk,l为底的长宽 000表示长 111表示宽 222表示高然后就分别长×\times×宽 长×\times×高 宽×\times原创 2021-08-11 20:15:05 · 115 阅读 · 0 评论 -
2021.8.10 提高B组模拟赛
2021.8.102021.8.102021.8.10 纪中模拟赛目录:T1.单峰T2.祖孙询问T3.比赛T4.数字T1:T1:T1:单峰分析:随便找规律 ans=2n−1ans=2^{n-1}ans=2n−1 每一位的贡献实际是杨辉三角longlonglong long + long~+~long + 快速幂CODE:#include<iostream>#include<cstdio>#include<al原创 2021-08-10 17:01:29 · 139 阅读 · 0 评论 -
2021.8.9 提高B组模拟赛
2021.8.92021.8.92021.8.9 纪中模拟赛目录:T1.最长公共回文子序列T2.QYQ在艾泽拉斯T3.平均数T4.着色T1:T1:T1:最长公共回文子序列分析:在BBB串里枚举回文子串 然后看这个子串在AAA串有没有即可CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;co原创 2021-08-09 21:31:43 · 95 阅读 · 0 评论 -
2021.7.21 提高B组模拟赛
2021.7.212021.7.212021.7.21 纪中模拟赛ⅧⅧⅧ目录:T1.好数T2.树的统计T3.提米树T4.环中环T1:T1:T1:好数分析:模拟一位位填数即可 101710^{17}1017自信longlonglong longlonglongCODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using name原创 2021-07-21 22:05:03 · 128 阅读 · 1 评论 -
2021.7.19提高B组模拟赛
2021.7.192021.7.192021.7.19 纪中模拟赛ⅦⅦⅦ由于放假一天 所以模拟赛编号 与游记编号会不一致目录:T1.玉米田(加强版)T2.公约数的和T3.只不过是长的领带T4.概率充电器T1:T1:T1:玉米田(((加强版)))LuoguLuoguLuogu linklinklink分析:洛谷的是弱化版这个卡了空间 要用滚动数组 还要卡常状压dp +dp~+dp + 滚动数组 +++ 卡常是过不了的 但我是打表 +++ 卡常 +++ 状压dp原创 2021-07-20 09:33:50 · 128 阅读 · 0 评论 -
2021.7.17 提高B组模拟赛
2021.7.16 纪中模拟赛Ⅵ2021.7.16~纪中模拟赛Ⅵ2021.7.16 纪中模拟赛Ⅵ目录:T1.有趣的家庭菜园4T2.屠龙勇士T3.周长T4.管道监控T1:T1:T1:有趣的家庭菜园444luoguluoguluogu linklinklink分析:本来还以为是单峰函数(显然前后缀和了 不过是单峰的 所以还要+1+1+1因为最小代价就是它们的差 从前面浇水到峰的后面 也可以使峰后半段的差距减小从后面浇水同理然后就在前后缀和里取最大 再取min原创 2021-07-18 20:24:55 · 131 阅读 · 1 评论 -
【洛谷P4774】[NOI2018] 屠龙勇士【Excrt Exgcd】
linklinklink分析:ExcrtExcrtExcrt用multisetmultisetmultiset 就可以快速求出要用的剑了 除非你想写平衡树问题转化成:::求同余方程组{Atk1x≡Hp1 (mod p1)Atk2x≡Hp2 (mod p2) ...Atknx≡Hpn (mod pn)\begin{cases}Atk_1x≡Hp_1~(mod~p_1)\\Atk_2x≡Hp_2~(mod~p_..原创 2021-07-18 19:36:04 · 141 阅读 · 1 评论 -
2021.7.16 提高B组模拟赛
2021.7.162021.7.162021.7.16 纪中模拟赛ⅤⅤⅤ目录:T1.并行博弈T2.图书馆T3.小学生语文题T4.矩形T1:T1:T1:并行博弈分析:博弈论结论:::左上角是111 先手必胜 否则后手必胜因为每次选择会翻转左上方左右棋子的颜色 先手改变左上角颜色 后手不管点哪里 左上角颜色一定会被改回去 那么先手就可以一直选择点左上角了如果是000 先手只能点别的位置 左上角就会变成111 后手就可以一直选择点左上角了注意kkk盘棋 不是kkk盘棋每盘一个赢家 是两原创 2021-07-17 20:44:34 · 135 阅读 · 1 评论 -
2021.7.15提高B组模拟赛
2021.7.162021.7.162021.7.16 纪中模拟赛ⅣⅣⅣ目录:T1.Colorful CircleT2.Reflect DamageT3.ptyNB!T4.Image Recognition T1:ColorfulT1:ColorfulT1:Colorful CircleCircleCircle分析:期望dpdpdpfi,0/1f_{i,0/1}fi,0/1表示到第iii个宝石 当前最后一个宝石 和最前面宝石颜色相同的期望然后注意环 判i=ni=ni=n的情况那么原创 2021-07-16 16:34:18 · 132 阅读 · 1 评论 -
2021.7.14 提高B组模拟赛
2021.7.142021.7.142021.7.14 纪中模拟赛 ⅢⅢⅢ目录:T1.树的直径T2.积木T3.软件公司T4.我图呢抱歉 这次模拟赛的T4T4T4本人调了非常久 所以题解迟了qwqqwqqwqT1:T1:T1:树的直径分析:看到树上距离 直接考虑lcalcalca我们可以看出一条性质:::新直径的一端一定是旧直径的一端那根据这一点 可以先随便从2,3,42,3,42,3,4中选两点做起始直径 然后枚举一个点xxx看是起点到xxx距离长 还是终点到xxx距离长 就更新原创 2021-07-15 21:11:24 · 111 阅读 · 1 评论