Always keep a beginner's mind, don't forg|

园龄:粉丝:关注:

联合省选2025游记
摘要: 大家好,退役选手又又又活了。。。 Day -2 敲了个流子,感觉还会写代码,晚自习真烦 Day -1 瞎翻oi-wiki,感觉知识点没忘干净,AP电磁学真烦 Day 1 面基许多故人,大为感动 感谢监考老师提前发密码,大为感动 T1直接就会了,但是不确定上下界之间是否都能取到,然后写了个暴力,发现对
13
0
0
pkuwc2025游记
摘要: 没想到吧,退役选手回来更新游记了! Day -1 期末考试真烦,地理出卷老师这辈子有了 在南京南站获得了超级贵的麦麦和星爸爸,但是星爸爸给出了超级好的取餐口令 遂原谅你比较贵的既定事实 出发! 到了以后,发现酒店比想象中要好很多,我以为是一个很小很烂的连锁酒店,结果发现这个酒店还不错,给予首旅南苑好
172
0
0
Goodbye OI
摘要: 终究还是要来写这篇文章了。以下将记录一些我认为值得纪念的事和瞬间,也算是对于我花费的时间的一种记录和总结,同时也不失为一种对过去的oi生活的一个道别。 Hello, World! 2018.07.14 Hello, World! 在 http://noi.openjudge.cn/ch0101/so
155
1
0
noip2024模拟赛记录
摘要: 20241028 A.铁路 2 题意简述 给一棵树,每次跳一条简单路径,定义 f(x,y)=min(x到y经过的简单路径长度)i=1nj=1nf(i,j) 思路 注意到,一定存在到直径端点的方案,
11
0
0
小岛杏花,捡的痛心 || ICPC2024 Nanjing游记
摘要: 小岛杏花,捡的痛心。。。 荣获NFLS排名最低队伍,难过/kk Day -4 第一场模拟赛,被教练怒斥要求用学校电脑 签到完,三个人同时想一个题的三个不同做法,并轮流交替实现自己的做法,导致3h过难度顺序第4题 遂得出教训:不要三个人做同一个题 Day -3 第二次模拟赛,抢了first blood
49
0
1
JSCPC&PKUSC2024 游记
摘要: 感觉最近比较唐氏啊 day -1 嘿嘿 一模分没出喵 再苟活一天 感觉比较抽象 打印机和模板库爆了 热身赛感觉压力不大啊 是不是强队都不屑于打/kk rp++
134
0
0
POI2012STU-Well
摘要: POI #Year2012 #二分 考虑二分答案,然后如果 |aiai1|>mid ,那么一定要提前操作掉,先把这种情况搞掉 然后考虑枚举一个位置变成 0 ,在上面的操作后,可以保证 |aiai1|mid ,那么这时还需要操 作的区间 \([
7
0
0
POI2012SQU-Squarks
摘要: POI #Year2012 #数学 考虑如果将 xisumi 都排序,那么 sum1=x1+x2sum2=x1+x3 考虑枚举一个 sumi=x2+x3 ,此时就可以确定 x1,x2,x3 假设当前确定到 \(i\
4
0
0
POI2012ROZ-Fibonacci Representation
摘要: POI #Year2012 #数学 贪心的每次选择最接近的两个数,x=min(xfibi1,fibix) // Author: xiaruize const int N = 2e5 + 10; vector<int> vec; int n; void solve() { int
2
0
0
POI2012RAN-Rendezvous
摘要: POI #Year2012 #基环树 #lca 分类讨论 如果 a,b 不联通, 1 如果 a,b 在同一棵子树下,最优策略一定是 lca(a,b) 如果 a,b 不在同一棵子树下,最优策略是 rta,rtb 中的一个 // Author: xi
2
0
0
POI2012PRE-Prefixuffix
摘要: POI #Year2012 #kmp 考虑相当于把原串分成 abcba 的串,使得 ab 尽可能长 然后从后往前枚举后面的 a 长度,然后对于 b 的长度考虑 dpi=dpi+1+2,然后往下缩小直到合法 // Author: xiaruize con
5
0
0
POI2012ODL-Distance
摘要: POI #Year2012 #数学 记 cnt(x)x 的因子个数 d(i,j)=cnt(ai)+cnt(aj)2cnt(gcd(i,j)) 枚举 i ,剩下的时间复杂度可以枚举 gcd ,考虑此时应该贪心的取 cnt(aj) 最小的 \
2
0
0
POI2012FES-Festival
摘要: POI #Year2012 #Tarjan #最短路 强联通分量之间是不影响的,考虑对于一个强联通分量内,方案数等于这个强联通内的最短路+1 // Author: xiaruize const int N = 6e2 + 10; int n, m1, m2; vector<int> g[N]
1
0
0
POI2011ROZ-Difference
摘要: POI #Year2011 #枚举 #贪心 枚举最后差最大的两个字符a,b,将原串中 a1,b1,其他标 0 原来的问题转化为强制包含 1,1 的最大字段和问题,维护每个位置前最近的 1 ,贪心取最大的 /
5
0
0
POI2011PRO-Programming Contest
摘要: POI #Year2011 #Dinic #网络流 #贪心 容易想到拆点的费用流做法,但是二分再拆点的时间复杂度是不可接受的 考虑因为每个的时间 r 是定值,所以不可能出现做题个数差超过 1 的情况 所以每一轮每个分配一个,用 Dinic 在推进一次,知道满流 // Auth
2
0
0
POI2011MET-Meteors
摘要: POI #Year2011 #整体二分 整体二分板子,用树状数组维护即可 // Author: xiaruize const int N = 1e6 + 10; int n, m, t; vector<int> vec[N]; struct node { int l, r, x; } s[N]; p
3
0
0
POI2011LIZ-Lollipop
摘要: POI #Year2011 #构造 #妙妙题 假设能取到 x,那么 y , x,y 奇偶性相同,x>yy 一定可以是 x 的一个子区间,处理奇数和偶数的最大值,离线,从大到小做 // Author: xiaruize const i
2
0
0
POI2011Lightning Conductor
摘要: POI #Year2011 #dp #决策单调性 令 dpi=maxj=1i1aj+ij) w(j,i)=ij 满足四边形不等式 所以这个 dp 具有决策单调性,分治维护 // Author: xiarui
6
0
0
POI2011KON-Conspiracy
摘要: POI #Year2011 #数学 考虑按照 deg 排序,然后暴力加入,这样可以得到一个极大的子集 方案数分两种,一种为从团内去掉一个 deg=siz1 的点,或者是将一个团外的 deg=siz1 的点与一个团内的交换 // Author: xiaruize const
2
0
0
POI2011INS-Inspection
摘要: POI #树上问题 #贪心 考虑什么样的点合法,这个点需要尽可能的均匀的子树,手摸几个发现,当且仅当这个点是重心的时候是可行的 那么贪心的来说,我们希望最后一个不需要回来的路径长度尽可能的大,搜索就可以做到 特判当有一个子树的 sizn2 时,最后的路径一定在
5
0
0
POI2011DYN-Dynamite
摘要: POI #Year2011 #二分 #树上dp 二分答案 对于每个点 dpx,0/1 表示到 xdpx,0表示最远的没有被覆盖的点的距离 ,dpx,1 表示最近的被选中的点的距离 转移按照题意,如果可以覆盖就覆盖,否则当留下来不合法就加点 //
3
0
0
POI2009SLO-Elephants
摘要: #POI #Year2009 #贪心 #数学 建图,对于每个环,有两种可行的方案, 是这个环内部操作,需要的代价为 mi×(cnt2)mi 为这个环中的最小值, cnt 为这个环的长度 还可以用环外的一个点,需要的代价为 \(mn\times (cnt+1
3
0
0
POI2009LYZ-Ice Skates
摘要: POI #Year2009 #线段树 #Hall定理 考虑实际上是一个二分图匹配问题,那么这个二分图存在匹配当且仅对于 L 的任何子集右侧的度数和 左侧的 然后线段树维护左侧的区间最大和 // Author: xiaruize const int N = 2e5 + 10;
4
0
0
POI2009GAS-Fire Extinguishers
摘要: POI #Year2009 #贪心 贪心的把灭火器放到深度较小的点上,对于每个点,维护两个数组,记录距离当前点为 x 没有覆盖的点有 ax个,距离当前点y 的灭火器有 by 个 然后在每个点上,合并长度为 len 或者 len1 的路径,因为这些
2
0
0
POI2009BAJ-The_Walk_of_Bytie-boy
摘要: POI #Year2009 #dp #bfs dpi,j 表示 ij 的最小距离,考虑暴力的转移需要枚举两个,是 O(m2) 的 考虑将这个转移拆成 2 步,每次先枚举 j 处添加一个,再在 i
6
0
0
POI2010TEL-Teleportation
摘要: 分层图 #贪心 #POI #Year2010 考虑将答案的图建成一个 5 层的图,其中 1,2 为第 1,5 层,第 2,4 层为已经与 1,2 相连的点 考虑将剩下的点与第 2,4 层相连,贪心选尽可能大的 // Author: xiaruize c
1
0
0
POI2010MOT-Monotonicity2
摘要: 线段树 #dp #线段树优化dp #POI #Year2010 线段树维护 dp 转移即可 // Author: xiaruize const int N = 1e6 + 10; struct segment_tree { #define ls p << 1 #define rs p <<
3
0
0
POI2010MOS-Bridges
摘要: POI #Year2010 #二分 #Dinic #欧拉回路 看到最小值,具有单调性,考虑二分 对于一个 mid 如果一条边两个方向都不能走,那么必然不合法 如果只有一个方向可走,那么变为有向边 否则为无向边 考虑有向图欧拉回路存在的充要条件,需要这个图中每个点的 \(indeg=outde
2
0
0
POI2010CHO-Hamsters
摘要: POI #Year2010 #kmp #字符串 #dp #矩阵优化dp 用 kmp 处理两个串拼在一起最小增加的代价,然后 dpi,j 表示选择 i 个最后是 j 的最小长度 转移枚举拼接的串 这个明显可以矩阵优化 // Author: xiaruize con
3
0
0
POI2010MOS-Bridges
摘要: POI #Year2010 #二分 #Dinic #欧拉回路 看到最小值,具有单调性,考虑二分 对于一个 mid 如果一条边两个方向都不能走,那么必然不合法 如果只有一个方向可走,那么变为有向边 否则为无向边 考虑有向图欧拉回路存在的充要条件,需要这个图中每个点的 \(indeg=outde
2
0
0
POI2005KOS-Dicing
摘要: 网络流 #二分 #POI #Year2005 考虑二分答案,用 Diniccheck 具体来说,就是对每一个人限制流量,然后检查能不能把所有场全部流满 #include <bits/stdc++.h> using namespace std; #define int long
6
0
0
POI2006MET-Subway
摘要: POI #Year2006 #妙妙题 #贪心 考虑从下往上按照拓扑序分层,对于每一层,这一层最多可以选择 min(2m,cnt) 个 考虑这个上界是否可以达到,这是一定可以的,通过将在下面结束的路径向上,可以做到每个点都被经过 所以直接统计 // Author: xiaruize #ifnd
2
0
0
POI2006EST-Aesthetic Text
摘要: POI #Year2006 #dp dpi,j 表示考虑到第 i 个单词,当前行长度为 j 的最小代价 暴力转移是 O(n3) 的 然后观察到,其实合法的转移不能卡满,具体来说,有至少 116 的常数,因为 \(d
7
0
0
POI2006ZAB-Frogs
摘要: 二分 #单调队列 #bfs #POI #Year2006 具有单调性,二分 从上往下考虑每一行,对于每一列维护一个单调队列,考虑维护一个覆盖的区间,表示这一列的最近的圆的位置,然后就可以计算它的覆盖区间 用差分计算每个位置是否被覆盖,处理当前长度下每个点是否被覆盖 然后 bfs 即可 //
2
0
0
POI2006SZK-Schools
摘要: 费用流 #POI #Year2006 费用流模板题,暴力建图,限制一下流量 // Author: xiaruize #ifndef ONLINE_JUDGE #define debug(x) cerr << "On Line:" << __LINE__ << #x << "=" << x << en
3
0
0
POI2006PRO-Professor Szu
摘要: 缩点 #dp #POI #Year2006 建反图, tarjan 缩点,在有向无环图上跑 topsortdp 计算方案数 超过 36500 的直接与 36501min 就可以避免炸 long long 特判 最大方案数为从最后一个点
1
0
0
POI2006PAL-Palindromes
摘要: POI #Year2006 #字符串 #妙妙题 #hash 结论 对于两个回文串,当且仅当两个串的最小循环节相同,这两个串拼起来是一个回文串 那么就可以用 kmp 维护,最短循环节的长度为 当 mmodnxtm=0 时为 mnxtm 否则为 m 然后 \(h
3
0
0
POI2006ORK-Ploughing
摘要: POI #Year2006 #贪心 #暴力 如果将所有的列干掉,那么贪心的如果可以删除一列就优先删除一列 当左右列不可以删除时,考虑上下行先删除谁不好判断 考虑在操作之前先枚举上面删除多少行,这样在操作时就可以贪心的使得下面删掉的行尽可能少 也就是贪心先删除上面 // Author: xiaruiz
2
0
0
POI2007ATR-Tourist Attractions
摘要: 最短路 #状压dp #滚动优化 #POI #Year2007 从前 k 个跑 dijksta ,对这 k 个点到达的状态状压 会 MLE ,考虑每次转移都只会增加一个状压下的 1 ,按照 popcount 分组做滚动 // Author: xiaruize c
2
0
0
POI2007TET-Tetris Attack
摘要: POI #Year2007 #贪心 #树状数组 考虑每一对数的最小代价为,将当前的换到最近的下面 用树状数组记录中间有几个没有被消掉的 // Author: xiaruize const int N = 2e5 + 10; int n, m; int la[N]; struct BIT { int
2
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起