上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 题意:爱丽丝和波波经常玩棋盘游戏,爱丽丽画出一个m*n的棋盘,让波波在棋盘中填充1*2大小的矩形条,而且爱丽丝不想这么轻易让波波赢,她将m*n的棋盘中挖掉k个方格。1.每个矩形条必需覆盖矩阵中相临两个方格2.矩形条不能覆盖挖去的方格。对于给定的m*n的且某些方格被挖去的矩阵,问用某种覆盖方法能否将除挖掉的方格外所有方格全部覆盖,若能,输出YES,否则输出NO。思路:矩形条每次覆盖相临两个方格。那么对两个任意方格(看作结点),如果它们分属两个不同的集合的话,那么它们之间存在边的情况只有它们是相临的方格的时候。这样一来,我们可以将矩阵中所有元素分成两个点集,相临点间存在边的关系。那么如何分这两个集 阅读全文
posted @ 2013-04-03 15:05 Missa 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 此题的关键在于等级限制的处理,最好的办法是采用枚举,即假设酋长等级为5,等级限制为2,那么需要枚举等级从3~5,4~6,5~7. 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 #include<queue> 7 #include<stack> 8 #include<string> 9 #include<vector> 10 #inc 阅读全文
posted @ 2013-04-02 10:26 Missa 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 手机写一篇博客,今天是我的生日,,可能也会是最忙的一个生日,保持一个积极的心,向上的心,继续奋斗,抓紧时间!! 阅读全文
posted @ 2013-03-30 00:46 Missa 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题意 定义f(n)为n各位数字之和,如果n是各位数,则n个数根是f(n),否则为f(n)的数根 现在给出n个Ai,求出A1*A2*…*AN+ A1*A2*…*AN-1+ … + A1*A2+ A1这个式子的数根 多组数据分析 首先,要知道这样一个结论: 任何一个整数模9同余于它的各数位上数字之和 具体证明过程如下: 设自然数N=a[n]a[n-1]…a[0],其中a[0],a[1]、…、a[n]分别是个位、十位、…上的数字 再设M=a[0]+a[1]+…+a[n] 求证:N≡M(mod 9). 证明: ∵ N=a[n]a[n-1]…a[0]=a[n]*10^n+a[n-... 阅读全文
posted @ 2013-03-19 13:41 Missa 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 题意:给定n个二元组(a,b),删除k个二元组,使得剩下的a元素之和与b元素之和的比率最大(比率最后乘100输出)ai<=bi设 (a1+a2+...an)/(b1+b2+..bn)=m;则有∑(ai-m*bi)=0显然m是在0,1之间的。(ai<=bi)故可二分查找m。 1 // File Name: 2976.cpp 2 // Author: Missa 3 // Created Time: 2013/3/16 星期六 15:37:33 4 5 #include<iostream> 6 #include<cstdio> 7 #include<cst 阅读全文
posted @ 2013-03-16 16:11 Missa 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 显然当每个城市只有一个人的时候。取中位数即可。同样。多个人的话可以看成多个人是多个城市在同一个地方。于是得出答案。 1 // File Name: 114.cpp 2 // Author: Missa 3 // Created Time: 2013/3/14 星期四 22:36:36 4 5 #include<iostream> 6 #include<cstdio> 7 #include<cstring> 8 #include<algorithm> 9 #include<cmath>10 #include<queue>11 阅读全文
posted @ 2013-03-14 22:57 Missa 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 先记下来。在test 7wa了。如果谁有数据希望可以指点下。thx. 1 // File Name: 1129.cpp 2 // Author: Missa 3 // Created Time: 2013/3/12 星期二 17:31:53 4 5 #include<iostream> 6 #include<cstdio> 7 #include<cstring> 8 #include<algorithm> 9 #include<cmath> 10 #include<queue> 11 #include<stack&g 阅读全文
posted @ 2013-03-13 00:31 Missa 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 终于知道自己错哪了。。。下面把自己的做法再分析一下。感觉扩展欧几里德算法经过这题以后比较熟悉了。首先 ax+by=gcd(a,b)可以由exgcd求出。设 g=gcd(a,b);然后对于开始的那个方程 a*x+b*y=c;可知,如果c%gcd(a,b) !=0 那么无解。否则由a*x0+b*y0=gcd(a,b)--->a*x0*(c/g)+b*y0*(c/g)=c;得到ax+by=c的一个特解Xt=x0*(c/g),Yt=y0*(c/g);接下来求所有满足ax+by=c的x,y解。开始的时候我列出了一个式子:a*Xt+n*a*b+b*Yt-n*a*b=c显然是满足的。然后推出 a*(X 阅读全文
posted @ 2013-03-09 17:26 Missa 阅读(380) 评论(0) 推荐(1) 编辑
摘要: 坑爹啊,开始一直写不进去自己的模版,谷歌也找不出,后来转念一想,把关键字 换成 “KawigiEdit template”然后终于找到了。貌似是2.0的版本存在的问题,换成2.1就好了。2.1的下载地址:http://topcoder.yajags.com/KawigiEdit_2.1.jar 阅读全文
posted @ 2013-03-09 15:28 Missa 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 欧拉回路相关定理:1 无向图为欧拉图,当且仅当为连通图且所有顶点的度为偶数。2 无向图为半欧拉图(存在欧拉通路),当且仅当为连通图且除了两个顶点的度为奇数之外,其它所有顶点的度为偶数。3 有向图为欧拉图,当且仅当的基图连通,且所有顶点的入度等于出度。(忽略有向图所有边 的方向,得到的无向图称为该有向图的基图。)4 有向图为半欧拉图,当且仅当的基图连通,且存在顶点的入度比出度大1、的入度比出度小1,其它所有顶点的入度等于出度。这道题与sgu101挺相似的。。输出字典序的问题可以由dfs过程看出。假如事先把边按字典序排好序,输出后的欧拉通路每条边依然是字典序的。 1 // File Name: . 阅读全文
posted @ 2013-03-04 23:03 Missa 阅读(451) 评论(0) 推荐(0) 编辑
摘要: http://acm.sgu.ru/problem.php?contest=0&problem=101以0--6为顶点。骨牌为边。求欧拉通路。注意:1、连通test 4是不连通的吧。2、好像还有自环。如果还wa的话。试试下面这组数据。可能是求欧拉通路的算法没理解好的原因。。我就是。。太弱。。81 22 33 44 55 31 77 88 1 1 // File Name: 101.cpp 2 // Author: Missa 3 // Created Time: 2013/2/23 星期六 1:22:12 4 5 #include<iostream> 6 #include& 阅读全文
posted @ 2013-03-04 13:22 Missa 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 1 #!/usr/bin/python 2 # Author: Missa 3 4 b = [1]*10 5 #print b 6 for i in range(0,10): 7 print b[i], 8 for i in range(0,10): 9 print b[i]10 11 a = [[1000]*10]*1012 #print a13 for i in range(0,10):14 for j in range(0,10):15 print a[i][j], 阅读全文
posted @ 2013-02-25 23:49 Missa 阅读(35348) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/276/C比赛的时候用的线段树。裸的吧。还wa了3次。。 1 //lazy_tag 2 //区间求和操作 3 #include <iostream> 4 #include <cstdio> 5 #include <cstring> 6 #include <cmath> 7 #include <algorithm> 8 using namespace std; 9 10 #define lson l,m,rt<<111 #define rson 阅读全文
posted @ 2013-02-25 23:26 Missa 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 给你一个n代表数字的位数,问你n位的数有多少的平方以987654321结尾。一个数的平方的最后n位只与原数的最后n位有关。所以先打表出sqrt(987654321)-->999999999的个数分布。 1 // File Name: 107.cpp 2 // Author: Missa 3 // Created Time: 2013/2/24 星期日 0:11:23 4 5 #include<iostream> 6 #include<cstdio> 7 #include<cstring> 8 #include<algorithm> 9 #i 阅读全文
posted @ 2013-02-24 00:32 Missa 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 题目大意是:给你坐标上一些点,然后你需要用一些边把他们连接起来,边有费用和长度,求总费用和总长度最小比值。 二分答案: 每边有两权值(a,b),求∑a/ ∑b最小的生成树. 设∑a/ ∑b=k --> ∑a=k*∑b --->a1+a2+...an = k*(b1+b2+..bn) ---->∑(ai-k*bi)==0 即边权变为a-k*b后求MST,看是否<0,如果<0则说明k太大了。>0说明k太小了。ps:有种迭代的方法。看没太懂。下次看。 1 // File Name: 2728.cpp 2 // Author: Missa 3 // Created 阅读全文
posted @ 2013-02-23 23:11 Missa 阅读(199) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页