
NOI
LauZiyang
exploring
展开
-
省选专练NOI2012美食节
和修车几乎一样 考虑一个动态加边#include #include #include using namespace std; const int N=40600; const int INF=2139062043; int n,m,s,t,ans,tot[N],cnt; int map[110][110]; int dis[N],id[N],num[N]; bool pd[N]; struct原创 2017-12-09 17:50:18 · 185 阅读 · 0 评论 -
省选专练NOI2009植物大战僵尸
#include #include #include #include #include #include #define INF 0x3f3f3f3f using namespace std; struct Front_star{ int u,v,w,nxt; }e[400100]; int cnt=1; int first[1001]={0}; void addedge(int u,int原创 2017-12-08 21:15:55 · 331 阅读 · 0 评论 -
省选专练 [NOI2006]最大获利(profit)
模板最大权闭合图。对于边权拆除一个点和两个连上的无穷大边#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<queue> using namespace std; const int...原创 2018-03-29 22:40:22 · 289 阅读 · 0 评论 -
省选专练NOI2010海拔
模板平面图上最大流。平面图转对偶图:旋转边90度注意跑dijkstra的最短路卡SPFA#include<bits/stdc++.h> using namespace std; const int N=3e5; const int INF=1e9+7; struct Front_star{ int u,v,w,nxt; }e[N*4]; int cnt=1; int first[N]...原创 2018-03-29 22:44:10 · 143 阅读 · 0 评论 -
省选专练NOI2010能量采集
莫比乌斯反演。2*sigma T [n/T]*[m/T]*phi(T)-m*n;#include<iostream> #include<cstring> #include<cmath> #include<algorithm> #include<cstdio> using namespace std; typedef int INT; #d...原创 2018-03-21 23:24:02 · 160 阅读 · 0 评论 -
省选专练[NOI2008]志愿者招募
一类新式网络流问题按时间为键值拆点链式连边。考点:流量平衡思想考点出处:网络流24题最长K重区间覆盖问题建边:每一天向下一天连INF-A【i】,0的边每一次劳工用差分的方式建边INF,c表示乐意效劳强制要求整条链流量守恒为INF原理:由于每天会流出去一些多余的流量所以会强制满流,流是那些劳工边流入#include<iostream> #include<cstdio> #in...原创 2018-04-02 18:42:22 · 202 阅读 · 0 评论 -
省选专练之数学 [NOI2013]矩阵游戏(详细)
矩阵快速幂太暴力了 给出以下证明: 稍微有常识的高考生都会解决这个问题 设 且 解得 设 有 即 根据给出的递推式知 由上式知: 不难看出令 和最开始的式子是相通的 所以就可以快速求出 当然注意特判一下a=1原因我想大家都懂 然后就完了 #include<iostream> #include<cstdio> #incl...原创 2018-08-01 15:12:56 · 375 阅读 · 0 评论 -
省选专练之 [NOI2014]起床困难综合症
额 我觉得实际上这是真的水 很容易想到二进制拆分 所以 从高位到底按位贪心 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; inline void r...原创 2018-08-27 16:37:55 · 184 阅读 · 0 评论 -
和Leo一起做热爱线段树的好孩子[Noi2016]区间
第一这是个签到题(当年的题也就这个还算简单了) 使用尺取法 我想了一下,最大联通子段和就是类似的方法。 我们一直试探下一位,然后当sum<0就从新开始试探 然后我们使用线段树区间覆盖,和区间max就可以查询当前最大值是否有m那么大了 #include<bits/stdc++.h> using namespace std; inline void read(int ...原创 2018-08-21 13:53:49 · 160 阅读 · 0 评论