摘要:
描述 Description 宁智贤得到了一份有趣而高薪的工作。每天早晨她必须关掉她所在村庄的街灯。所有的街灯都被设置在一条直路的同一侧。宁智贤每晚到早晨5点钟都在晚会上,然后她开始关灯。开始时,她站在某一盏路灯的旁边。每盏灯都有一个给定功率的电灯泡,因为宁智贤有着自觉的节能意识,她希望在耗能总数最 阅读全文
摘要:
#include using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; const int MAXN = 1e7 + 100; const int MAXM = 3e3 + 10; inline int read() { int x = 0, ff = 1; char ch = getchar... 阅读全文
摘要:
题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换 阅读全文
摘要:
最短路,即第1短路有很多种求法,SPFA,Dijkstra等,但第k短路怎么求呢?其实也是基于Dijkstra;因为Dijkstra用的是堆优化,这样保证每次弹出来的都是最小值,只是求最短路只是弹出一次就返回了,我们可以用Dijkstra弹出k个距离后再返回,这样根据弹出的先后顺序能够求出1~k短路 阅读全文
摘要:
#include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long inline int read() { int x = 0,ff = 1; char ch = ge... 阅读全文
摘要:
#include using namespace std; inline int read() { int x = 0,ff = 1; char ch = getchar(); while(!isdigit(ch)) { if(ch == '-') ff = -1; ch = getchar(); } while(isdig... 阅读全文
摘要:
#include using namespace std; #define ll long long #define INF 0x3f3f3f3f #define MAXN 300010 #define MAXM 3010 #define _ 0 inline int read() { int x = 0,ff = 1, ch = getchar(); while(!i... 阅读全文
摘要:
给出一道例题 poj2823 我们知道,在暴力枚举的过程中,有一个地方是重复比较了,就是在找当前的f(i)的时候,i的前面其它m-1个数在算f(i-1)的时候我们就比较过了。当你一个个往下找时,每一次都是少一个然后多一个,如果少的不是最大值,然后再问新加进来的,看起来很省时间对吧,那么如果少了的是最 阅读全文