摘要: CZ写的三分模板View Code 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #include <math.h> 5 #define eps 1e-9 6 double a,b; 7 double getsum(double c) 8 { 9 double p,sum = 0;10 p = (a+b+c)/2;11 sum += sqrt(p*(p-a)*(p-b)*(p-c));12 sum += c*c/4;13 return sum;14 }15 i 阅读全文
posted @ 2012-08-10 20:40 _雨 阅读(167) 评论(0) 推荐(0) 编辑
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=598这题题意看了老半天 让求图形中的X的区域块数 每个区域有多少个X是不相连的 DFS搜有多少个区域 BFS标记 有每个区域里多少X区域块注意两点吧 WA了5次 第一个可能为X 就直接BFS 再DFS第二 BFS中遇到的*要保留起来 把相连的X标记完之后 继续搜 不然区域块数会被分开View Code 1 #include <iostream> 2 #include&l 阅读全文
posted @ 2012-08-10 20:31 _雨 阅读(325) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1114初始化为无穷大View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<string.h> 4 #define INF 0xfffffff 5 using namespace std; 6 int main() 7 { 8 int i,j,k,n,t,f[10001],v,p[501],w[501]; 9 scanf("%d", &t);10 while(t--)11 {12 阅读全文
posted @ 2012-08-10 16:34 _雨 阅读(185) 评论(0) 推荐(0) 编辑
摘要: http://www.cppblog.com/tanky-woo/archive/2010/07/31/121803.htmlhttp://dongxicheng.org/structure/knapsack-problems/01背包(ZeroOnePack): 有N件物品和一个容量为V的背包。(每种物品均只有一件)第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]= 阅读全文
posted @ 2012-08-10 14:57 _雨 阅读(290) 评论(0) 推荐(0) 编辑
摘要: http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2080最长公共子序列状态方程if (ci==cj)dp[i][j] = dp[i-1][j-1]+1;elsedp[i][j] = max{dp[i-1][j],dp[i][j-1]};View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<string.h> 4 using namespace std; 5 int main() 6 { 7 阅读全文
posted @ 2012-08-10 14:52 _雨 阅读(244) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1215打表 从小到N/2 筛能把自己整除的数#include <iostream>#include<cstdio>#include<string.h>#define N 500001using namespace std;__int64 s[N+10];int main(){ int i,j,k,n,m; for(i = 1 ; i <= N/2 ; i++) { for(j=i+i ; j< N ; j+=i) s[j]+=i; } scanf("% 阅读全文
posted @ 2012-08-10 09:08 _雨 阅读(148) 评论(0) 推荐(0) 编辑