上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 42 下一页
练了练JAVA本次收获,大数没有a==b这种形式,要用a.compareTo(b),返回1,0,-1View Code 1 import java.util.*; 2 import java.text.*; 3 import java.math.*; 4 5 public class Main { 6 public static void main(String[] args) { 7 Scanner cin = new Scanner(System.in); 8 BigInteger x, y, m, n, p, a = BigInteger.va... Read More
posted @ 2011-11-07 11:31 Because Of You Views(410) Comments(0) Diggs(0) Edit
很明显的二分匹配,只是直接把可以组成的两个正方形的地方连边的话会重复计算,结果是最大匹配数的两倍,但方案不好输出但由于每两个相邻的正方形的(x+y)奇偶性(行和列相加)是不同的,所以,就可以把奇的放左边偶的放右边(或倒过来,都可以)匈牙利之后直接输出匹配数和方案就好了View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<vector> 4 using namespace std; 5 bool map[110*110]; 6 vector<int> g[10005]; 7 in Read More
posted @ 2011-11-07 10:45 Because Of You Views(277) Comments(0) Diggs(0) Edit
枚举两个多边形的两个点组成的直线,判断能与几个多边形相交因为最佳的直线肯定可以经过某两个点(可以平移到顶点处),所以暴力枚举两个点就好了View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <algorithm> 5 using namespace std; 6 const double eps = 1e-8; 7 const double pi = acos(-1.0); 8 struct Point { 9 double x, y; 1 Read More
posted @ 2011-11-06 22:49 Because Of You Views(367) Comments(0) Diggs(0) Edit
转自http://blog.csdn.net/morgan_xww/article/details/6774708http://blog.csdn.net/xymscau/article/details/6601262对随机变量A、B,有数学期望E(aA+bB)=aE(A)+bE(b);有了这个公式你就可以进行将连续的期望问题,转化为独立的状态了,概率就相当于a,b;A,B为变量,那么来分析一下这个问题,对于下一次查找,只可能有4种状态的转移,找到bugs,找到subcomponents,都找到和都找不到。因为e[i][j]=p1*e[i+1][j]+p2*e[i][j+1]+p3*e[i+1 Read More
posted @ 2011-11-06 14:50 Because Of You Views(400) Comments(0) Diggs(1) Edit
!A的感觉真是好,继续加油!View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<math.h> 4 #include<algorithm> 5 using namespace std; 6 #define M 16 7 const double eps=1e-8; 8 int map[M][M]; 9 const int inf = 1000000;10 bool flag[M];11 int D[M],nodes[M],w[M];12 int n,m,rest[M];13 Read More
posted @ 2011-11-05 22:10 Because Of You Views(375) Comments(0) Diggs(0) Edit
转载。。题目链接:http://poj.org/problem?id=2349这个问题是最小生成树的问题假设d已知,把所有铺设线路的村庄连接起来,构成一个图。需要卫星设备的台数就是图的连通支的个数。d越小,连通支就可能越多。那么,只需找到一个最小的d,使得连通支的个数小于等于卫星设备的数目。把整个问题看做一个完全图,村庄就是点,图上两点之间的边的权值,就是两个村庄的直线距离。只需在该图上求最小生成树,d的最小值即为第K长边!因为:最小生成树中的最长k-1条长边都去掉后,正好将原树分成了k个连通分支,在每个连通分支上摆一个卫星设备即可那么剩下的各村庄之间的连线,最长不用超过第k长边的长度。Vie Read More
posted @ 2011-11-05 18:05 Because Of You Views(310) Comments(0) Diggs(0) Edit
题意:有一幅图,现在要加一条边,加边之后要你删除一条边,使图不连通,费用为边的费用,要你求的是删除的边的最小值的最大值(每次都可以删除一条边,选最小的删除,这些最小中的最大就为答案)首先要进行缩点,把图缩为一棵树,因此,加入一条边后图就会存在一个环,环中的任何一条边删除后都不会导致图不连通之后找一条最小的边,可以说这条边肯定是在加边之后的连通块里的,因为如果不在连通块里,那就直接可以把这条最小的边删掉,而达不到求出答案的目的找到边后,分别从边的两点开始遍历,要遍历出一条路径来,并且边上的权值要尽可能的小,因为这样才能让不在环中的边尽可能的大,然后,答案就是每个节点的次小儿子的最小值,如果没有次 Read More
posted @ 2011-11-04 09:39 Because Of You Views(1275) Comments(0) Diggs(1) Edit
昨天一直WA,仔细看了下,是最小生成树的写法问题,路径记录的不正确,以后果断换种写法我的做法是先求最小生成树,再枚举树边去掉,再求最小生成树,看是否还是相同的结果,如果是,则证明不唯一View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<vector> 4 #define M 110 5 using namespace std; 6 vector<int> edge[110]; 7 int map[110][110]; 8 const int inf = 9999999; 9 Read More
posted @ 2011-11-03 08:06 Because Of You Views(1742) Comments(1) Diggs(0) Edit
引自百度百科R.亨斯贝尔格著李忠翻译的《数学中的智巧》一书,介绍了法雷级数。这里每一行从0/1开始,以1/1结尾,其它数自左至右将所有的真分数按增加顺序排列;第n行是由所有分母小于或等于n的真分数组成,我们称为n阶法雷级数。如下表: F1: 0/1 1/1 F2: 0/1 1/2 1/1 F3: 0/1 1/3 1/2 2/3 1/1 F4: 0/1 1/4 1/3 1/2 2/3 3/4 1/1 F5: 0/1 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1/1 F6:0/1 1/6 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/... Read More
posted @ 2011-11-02 23:33 Because Of You Views(438) Comments(0) Diggs(0) Edit
用一种颜色,两种颜色,三种颜色去对图染色,染色成功则输出颜色数,否则输出4View Code 1 #include<stdio.h> 2 #include<string.h> 3 bool g[26][26]; 4 int used[26]; 5 int n; 6 bool dfs(int id,int color) 7 { 8 int i,j; 9 bool flag;10 for(i=0;i<color;i++)11 {12 flag=true;13 used[id]=i;14 for(j=0;j<id;j+... Read More
posted @ 2011-11-01 23:33 Because Of You Views(369) Comments(0) Diggs(0) Edit
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 42 下一页