题解 BZOJ 3713 [PA2014]Iloczyn

题解: 鉴于F[44]> 1e9。于是可以把两两乘积算出来,枚举即可。 code: #include<cstdio>#include<cstring>#include<algorithm>#include<set>//by zrt //problem: using namespace std; int f[46]; set<int> s; int main(){ #ifdef LOCAL freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); #endif f[0]=0;f[1]=1; for(int i=2;i<=45;i++){ f[i]=f[i-1]+f[i-2]; } int MAX=1e9; for(int i=0;i<=45;i++) s.insert(f[i]); for(int i=3;i<=45;i++){ for(int j=i;j<=45;j++){ if(f[i]*1LL*f[j]<=MAX){ s.insert(f[i]*f[j]);...

九月 14, 2014 · 1 分钟 · 87 字 · Ruotian

题解 BZOJ 3709 [PA2014]Bohater

题解: 若d[x]<a[x],杀这个怪是有收益的,可以按d值从小到大杀。 若d[x]>a[x],考虑反过来的过程,如果都杀完后血量是...

九月 14, 2014 · 1 分钟 · 215 字 · Ruotian

题解 BZOJ 2442 [Usaco2011 Open]修剪草坪

题解: 定义F[i]为前 i-1 只奶牛工作效率的最大值。 sum[i]是Ei的前缀和。 有F[i]=max{F[j]+sum[i-1]-sum[j]} (i-j<k)...

九月 14, 2014 · 1 分钟 · 157 字 · Ruotian

题解 BZOJ 1735 [Usaco2005 jan]Muddy Fields 泥泞的牧场

题解: 不能盖住好地,那么宽为1的木板只能放在行、列连通块里。 所以行、列连通块对应左、右部中的点,泥地对应边。 求二分图最小覆盖就是答案。 二分图...

九月 14, 2014 · 1 分钟 · 188 字 · Ruotian

题解 BZOJ 1715 [Usaco2006 Dec]Wormholes 虫洞

题解: 题意是问你一个混合图是否存在负环。 spfa即可,开始时将所有点入队,求最短路,当最短路长度超过n时,说明有负环。 code: #include<cstdio>#include<cstring>#include<algorithm>#include<queue>//by zrt //problem: using namespace std; int n,m,w; int H[505],X[6000],P[6000],E[6000];...

九月 10, 2014 · 1 分钟 · 152 字 · Ruotian

题解 COGS 577 蝗灾 [CDQ分治入门题]

题目链接 昨天mhr神犇,讲分治时的CDQ分治的入门题。 题意: 你有一个wxw正方形的田地。 初始时没有蝗虫。 给你两个操作: 1 x y z: (x,y)这...

九月 8, 2014 · 2 分钟 · 506 字 · Ruotian

题解 BZOJ 2878 [Noi2012]迷失游乐园

题目链接 题意: 给你一张n个点n-1或n条边的带权无向图。从每个点出发一直走下去,不能重复经过某个点。问走过的路径长度的数学期望是多少? N&l...

九月 8, 2014 · 2 分钟 · 957 字 · Ruotian

素数筛法

埃氏筛法:从2开始,找到第一个没有被筛的数,把它标记为素数,然后把它的2倍、3倍……筛掉。 复杂度O(nlogn)。 改进的埃氏筛法:从2开始,...

八月 15, 2014 · 2 分钟 · 695 字 · Ruotian

题解 POJ 2425 A Chess Game

[题目链接][1] 题意:给定一个有向无环图(DAG),上面放有一些旗子,旗子可以重合,两个人轮流操作,每次可以把一个旗子从一个位置移动到相邻...

八月 15, 2014 · 1 分钟 · 217 字 · Ruotian