首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
2018.11.09 bzoj2165: 大楼(倍增+floyd)
】的更多相关文章
2018.11.09 bzoj2165: 大楼(倍增+floyd)
传送门 先倍增出iii使得2i2^i2i时间时刚好有每个点能够到mmm层及以上. 然后就可以用floyd+floyd+floyd+倍增求出刚好不超过mmm层的时间,最后再补一层就行了. 代码: #pragma GCC optimize(2) #include<bits/stdc++.h> using namespace std; typedef long long ll; inline ll read(){ ll ans=0; char ch=getchar(); while(!isdigit…
bzoj2165: 大楼(倍增floyd)
题目大意:一个有向图,n(<=100)个点求一条长度>=m(<=10^18)的路径最少经过几条边. 一开始以为是矩乘,蓝鹅当时还没开始写,所以好像给CYC安利错了嘿嘿嘿QWQ 第一眼看到这题就想到了某题(戳我),最后只想出一半... 倍增floyd:f[p][i][j]表示走了2^p条边,从i到j的最长路径,然后则有:f[p][i][j]=max(f[p][i][j],f[p-1][i][k]+f[p-1][k][j]); 当跑倍增floyd的时候,1到某个点路径长度>=m则记录p…
2018.11.09 bzoj4773: 负环(倍增+floyd)
传送门 跟上一道题差不多. 考虑如果环上点的个数跟最短路长度有单调性那么可以直接上倍增+floyd. 然而并没有什么单调性. 于是我们最开始给每个点初始化一个长度为0的自环,于是就有单调性了. 代码: #pragma GCC optimize(2) #include<bits/stdc++.h> using namespace std; typedef long long ll; inline ll read(){ ll ans=0; char ch=getchar(); while(!isd…
2018.11.09 bzoj1706: relays 奶牛接力跑(倍增+floyd)
传送门 倍增+floyd板子题. 先列出状态fi,j,kf_{i,j,k}fi,j,k表示经过iii条边从jjj到kkk的最短路. 然后发现可以用fi−1,j,kf_{i-1,j,k}fi−1,j,k和f1,j,kf_{1,j,k}f1,j,k来转移出fi,j,kf_{i,j,k}fi,j,k. 由于floydfloydfloyd可以看做是矩阵乘法,因此可以用倍增/快速幂优化矩阵转移. 代码: #include<bits/stdc++.h> #include<tr1/unorde…
2018.11.09 洛谷P1110 [ZJOI2007]报表统计(multiset)
传送门 sb题. 直接用两个multisetmultisetmultiset维护相邻两个数的差值和所有数的前驱后继. 插入一个数的时候更新一下就行了. 代码: #include<bits/stdc++.h> using namespace std; inline int read(){ int ans=0,w=1; char ch=getchar(); while(!isdigit(ch)){if(ch=='-')w=-1;ch=getchar();} while(isdigit(ch))an…
2018.11.09 codeforces487E. Tourists(tarjan+树链剖分)
传送门 先把边双连通分量用圆方树一样的方法缩点,然后把新建的树树剖维护. 注意对于边双连通分量需要维护动态最小值,可以用multisetmultisetmultiset. 代码: #include<bits/stdc++.h> #define lc (p<<1) #define rc (p<<1|1) #define mid (T[p].l+T[p].r>>1) using namespace std; inline int read(){ int ans=…
BZOJ 2165: 大楼 倍增Floyd
卡了一上午常数,本地13s,可是bzoj 就是过不去~ #include <bits/stdc++.h> #define N 102 #define M 55 #define ll long long #define inf -1 #define setIO(s) freopen(s".in","r",stdin) , freopen("de.out","w",stdout) using namespace std…
【bzoj1706】[usaco2007 Nov]relays 奶牛接力跑 离散化+倍增Floyd
题目描述 FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们的日常锻炼项目.至于进行接力跑的地点 自然是在牧场中现有的T(2 <= T <= 100)条跑道上. 农场上的跑道有一些交汇点,每条跑道都连结了两个不同的交汇点 I1_i和I2_i(1 <= I1_i <= 1,000; 1 <= I2_i <= 1,000).每个交汇点都是至少两条跑道的端点. 奶牛们知道每条跑道的长度length_i(1 <= length_i &…
Bzoj2165 大楼
Time Limit: 40 Sec Memory Limit: 259 MBSubmit: 779 Solved: 285[Submit][Status][Discuss] Description xz是一个旅游爱好者,这次他来到了一座新的城市.城市中央有一幢高耸入云的大楼.这幢楼到底有多少层呢?据说和非负整数的个数是一样多的.xz想爬上这座大楼来观赏新城市的全景.这幢大楼的楼层从下至上用从小到大的非负整数编号.每层楼有n个房间,用1到n的正整数编号.楼层之间用电梯连接,电梯只能上行,不能…
OI生涯回忆录 2018.11.12~2019.4.15
上一篇:OI生涯回忆录 2017.9.10~2018.11.11 一次逆风而行的成功,是什么都无法代替的 ………… 历经艰难 我还在走着 一 NOIP之后,全机房开始了省选知识的自学. 动态DP,LCT,后缀数组,后缀自动机,多项式 NOIP获得全省第六名好成绩的我, 自以为省队纳入囊中只是时间问题 学习效率并不高效. 12月培训由于自学过 听课效果很好,实际上并没有收获和总结太多. 当时问郭神算法的问题, 他说: “算法不在多,而在于精” 事实证明, 此言得之. 太多的自满,太多的不深刻 太多…