2019年10月19日

leetcode

摘要: 时隔7年回归博客园,开始刷leetcode。 阅读全文

posted @ 2019-10-19 10:34 myoi 阅读(137) 评论(0) 推荐(0) 编辑

2012年7月25日

noi 2009 植物大战僵尸 网络流

摘要: 网络流经典题#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>using namespace std;#define MAXN 610#define MAXM 730000#define INF 123456789struct node_connect{ int num; node_connect *next;};struct node_dinic{ int u,remain; node_dinic *next,*inv 阅读全文

posted @ 2012-07-25 22:01 myoi 阅读(346) 评论(0) 推荐(0) 编辑

2012年7月23日

noi 2005 维护数列 平衡树

摘要: 非常恶心的一道数据结构题。 1 #include<iostream> 2 #include<cmath> 3 #include<cstring> 4 #include<cstdio> 5 using namespace std; 6 #define MAXN 510000 7 #define INF 9876 8 struct node 9 { 10 node *left,*right,*father; 11 int value,size,sum,ml,mr,max; 12 bool change,rev; 13 }; 14 node *root 阅读全文

posted @ 2012-07-23 20:52 myoi 阅读(648) 评论(0) 推荐(0) 编辑

2012年7月21日

marcool 0200 互质二元组 数论

摘要: 题意:给出N个整数A1,A2,……,AN,统计满足i<j且Ai和Aj互质的二元组(i,j)的数量。对于100%的数据,1≤N≤100000,1≤Ai≤1000000。思路: 因为Ai比较小 所以我们用num[i]统计n个数中i的个数然后先求出 分别以2~1000000为公约数的有多少对再求出以2~1000000为最大公约数的有多少对最后用n*(n-1)/2减去总对数 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmath> 5 #define 阅读全文

posted @ 2012-07-21 17:57 myoi 阅读(282) 评论(0) 推荐(0) 编辑

2012年7月19日

noi 2008 志愿者招募 费用流

摘要: 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管。布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者。经 过估算,这个项目需要N 天才能完成,其中第i 天至少需要Ai 个人。 布布通过了解得知,一共有M 类志愿者可以招募。其中第i 类可以从第Si 天工作到第Ti 天,招募费用是每人Ci 元。新官上任三把火,为了出色地完成自己的工作,布布希望用尽量少的费用招募足够的志愿者,但这并不是他的特长!于是布布找到了你,希望你帮他设计一种最 优的招募方案。膜拜:gyh神牛 1 #include<iostream> 2 #include<cmath& 阅读全文

posted @ 2012-07-19 19:39 myoi 阅读(524) 评论(0) 推荐(0) 编辑

2012年7月18日

noi 2003 逃学的小孩 树型DP

摘要: 思路:本题就是求在树上 MAX(dis[A,B]+MIN(dis[A,C]+dis[B,C]))可以证明AB是树上最长链 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 using namespace std; 6 #define MAXN 200001 7 struct node 8 { 9 int num; 10 long long weight; 11 node *next; 12 }; 13 node *graph[MAXN], 阅读全文

posted @ 2012-07-18 18:07 myoi 阅读(447) 评论(0) 推荐(0) 编辑

2012年7月17日

noi 2007 项链工厂 线段树

摘要: 1 #include<iostream> 2 #include<cmath> 3 #include<cstdio> 4 #include<cstring> 5 using namespace std; 6 #define MAXN 500001 7 struct node 8 { 9 int left,right,left_color,right_color,part; 10 bool mark; 11 }tree[4*MAXN]; 12 int color[MAXN]; 13 int rev,delta,n,m,cur_color; 14 vo 阅读全文

posted @ 2012-07-17 21:05 myoi 阅读(428) 评论(0) 推荐(0) 编辑

noi 2007 社交网络 最短路

摘要: 题意:大水题一道 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 using namespace std; 6 #define MAXN 101 7 int map[MAXN][MAXN]; 8 long long path[MAXN][MAXN]; 9 int c[MAXN][MAXN][MAXN];10 double ans[MAXN];11 int n,m;12 void solve()13 {14 memset(ans,0,si 阅读全文

posted @ 2012-07-17 16:39 myoi 阅读(441) 评论(0) 推荐(0) 编辑

noi 2008 设计路线 动态规划

摘要: 题意:Z 国坐落于遥远而又神奇的东方半岛上,在小Z 的统治时代公路成为这里主要的交通手段。Z 国共有n 座城市,一些城市之间由双向的公路所连接。非常神奇的是Z 国的每个城市所处的经度都不相同,并且最多只和一个位于它东边的城市直接通过公路相连。Z 国的首都是Z 国政治经济文化旅游的中心,每天都有成千上万的人从Z 国的其他城市涌向首都。 为了使Z 国的交通更加便利顺畅,小Z 决定在Z 国的公路系统中确定若干条规划路线,将其中的公路全部改建为铁路。 我们定义每条规划路线为一个长度大于1 的城市序列,每个城市在该序列中最多出现一次,序列中相邻的城市之间由公路直接相连(待改建为铁路)。并且,每个城市最多 阅读全文

posted @ 2012-07-17 10:23 myoi 阅读(618) 评论(0) 推荐(0) 编辑

2012年7月16日

noi 2009 管道取珠 动态规划

摘要: 这是一道非常精致的递推问题,程序非常短,但很难想到。问题的关键是对目标的转化以及递推状态的设计。首先对 ∑ai^2进行转化,将其这样理解:用A和B分别表示一种取珠的方法,将结果相同的两种取珠方法(不管这两种取珠方法本身是否相同)记为(A, B),不难发现∑ai^2就是所有这样的(A, B)的对数。设状态f(a1, b1, a2, b2),如果f(a1, b1, a2, b2) = K,表示存在K对不完全相同的(A, B),使得A方法已经取出了第一个串的前a1个字符及第二个串的前b1个字符,B方法已经取出了第一个串的前a2个字符以及第二个串的前b2个字符,同时A方法与B方法得到的结果相同。显然, 阅读全文

posted @ 2012-07-16 20:33 myoi 阅读(1104) 评论(0) 推荐(0) 编辑

导航