上一页 1 ··· 4 5 6 7 8 9 10 11 下一页
摘要: http://blog.csdn.net/lyy289065406/article/details/6642573转载请注明出处:優YoUhttp://blog.csdn.net/lyy289065406/article/details/6642573最近AC题:2528更新时间:2011.09.22 已AC题数:146初级题已在2011.06.30全部完成部分解题报告添加新内容,除了原有的“大致题意”和“解题思路”外,新增“Source修正”,因为原Source较模糊,这是为了帮助某些狂WA的同学找到测试数据库,但是我不希望大家利用测试数据打表刷题PS:部分题目的评论中也有给出了测试数据,未 阅读全文
posted @ 2012-10-17 12:20 Missa 阅读(1318) 评论(2) 推荐(0) 编辑
摘要: http://codeforces.com/contest/234做出来三题。第一题感觉不难,但是一直想不到好的做法。就先做了B,C。B很简单。C想到了也很简单。。记录下做法:A:感觉我的应该算作贪心。。。不知道是不是想复杂了。我是这么想的,要不是L多余R,要不是R多余L。于是可以先把左右位置确定下来,再判断是否满足左右相差大于1。假如不大于1的话。比如 3 4.那么右边除了2以外。其他的都可以代替4。。。View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #i 阅读全文
posted @ 2012-10-16 19:04 Missa 阅读(282) 评论(2) 推荐(0) 编辑
摘要: 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <cstring> 5 6 using namespace std; 7 8 int n; 9 int sum,w[15];10 int rest[151];11 12 int main()13 {14 while(scanf("%d",&n) != EOF)15 {16 sum=0;17 int re=0,tag=0;18 memset(rest,0,sizeof(r 阅读全文
posted @ 2012-10-14 21:25 Missa 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 设x化为二进制长度为len.例如x=1100b1、先求长度小于len的和2、求长度为len且小于x的个数和。此时可以枚举二进制x中1的位置,将其变为0后满足的数的个数和。View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <cmath> 6 7 using namespace std; 8 9 #define MAXN 32 10 __int64 sum[MAXN];//su 阅读全文
posted @ 2012-10-13 13:41 Missa 阅读(294) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/233/problem/Bs(x)最大为81.所以x*(x+s(x))==n假如有x存在,则x必然小于sqrt(n)。且大于sqrt(n)-82。。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <cmath> 6 7 using namespace std; 8 9 long long n,ans;10 11 int getsu 阅读全文
posted @ 2012-10-12 19:06 Missa 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题意:n个村庄建p个邮局,最短距离和。dp[MAXN][35];//dp[i][j]表示前i个村庄有j个post且第i个村庄有post的最小值优化前(969ms....):View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 7 using namespace std; 8 9 #define MAXN 31010 #define Max(x,y) (x&g 阅读全文
posted @ 2012-10-11 19:58 Missa 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 给你一个n问求使得 a1+a2+..ak==n时 a1*a2*..ak最大。。a1 a2.....不相等。(没看懂题目意思。。)以下转自http://blog.himdd.com/?p=1918思路:将一个数分成2份,如何分,使得这两个数乘积最大。答案是将这个数平分,证明是求x*(n-x)的最大值。基于这种思路,将N分成乘积最大的不相等的多份,应使得其中每份的数相差尽量少,即差值为1的等差数列为最理想状态。构造了一个等差数列以后,再根据剩余值对整个数列的值进行调整。使得相邻元素差值达到最小。这里注意,等差数列的构造应以2为首项,1为首项的话,对乘积没影响。。。(以下证明是从网上得来的)由题意知 阅读全文
posted @ 2012-10-11 14:57 Missa 阅读(1319) 评论(1) 推荐(1) 编辑
摘要: 题意:给你一个n,然后求从2-->n的所有数的欧拉函数的和。欧拉函数模版View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 6 using namespace std; 7 8 #define MAXN 1000010 9 10 long long euler[MAXN],sum_euler[MAXN];//sum_euler[i]表示2-->i的欧拉数和11 int n;12 void get_eu 阅读全文
posted @ 2012-10-11 00:16 Missa 阅读(187) 评论(0) 推荐(0) 编辑
摘要: /*http://baike.baidu.com/view/107769.htm * 欧拉函数:定义:用于计算 p(n),小于等于n的所有与n互质的数的个数。例如p[8]=4,(1,3,5,7)计算公式:p(n)=n*(1-1/p1)*(1-1/p2)....*(1-1/pk)【p1,p2,pk都是n的素因子】另:若n=p1^q1*p2^q2*.....*pk^qk则,p(n)=(p1-1)*p1^(q1-1)*(p1-1)*p2^(q2-1)......*(pk-1)*pk^(qk-1)性质:若m,n互质,φ(mn)=φ(m)φ(n)。当n为奇数时,φ(2n)=φ(n)*/求欧拉函数 elu 阅读全文
posted @ 2012-10-11 00:13 Missa 阅读(279) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/231/problem/C昨天的cf。比赛的时候其实有点思路的,但是因为B搞错方向了没敢写C。刚刚写了下,AC了。用的思路还真是昨天晚上的。囧。昨天晚上看的时候有一个地方不知道怎么转换,就是怎么快速求出i-->i+ans需要加多少个1.刚刚化了下。得到了:cnt=sum[i-1+m]-sum[i]-(i-1)*(a[i-1+m]-a[i])。sum[i]表示1-->i需要加多少个1使得1-->i都变为a[i]。自己写下就能得到上面那个式子。昨天就是这里没深入。然后刚刚做的时候想到了 sum[]定义为__int64 觉 阅读全文
posted @ 2012-10-08 20:41 Missa 阅读(311) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/231/B苦逼贪心被当成了搜索。。。学习大牛代码:View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 #define MAXN 110 8 int ans[MAXN]; 9 int n,d,l;10 11 int main()12 {13 while(scanf("%d%d%d",&n,&d, 阅读全文
posted @ 2012-10-08 02:14 Missa 阅读(361) 评论(0) 推荐(0) 编辑
摘要: bfs套一个bfs先bfs box的移动情况,这里注意的是可能一个坐标x,ybox多次经过是可行的。网上的很多AC代码就没注意这个。比如下面这组数据:8 9##########......T##.S.....###B#######.......##.......##.......##########网上很多AC代码输出“Impossible.”明显错的。。。然后在每次bfs box的时候bfs person 判断是否能走到相应的点。(即相反的方向点)最后还注意的是Output a single blank line after each test case. 如果最后没有空行竟然是报wa的。。 阅读全文
posted @ 2012-10-07 21:36 Missa 阅读(1508) 评论(2) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2688很基础的搜索吧。跑了200MS。。。做完这题发现了一个很囧的东西。。这题貌似就是TSP问题....AC了后想去搜下看有没有好的剪枝,结果发现别人说这是经典的TSP问题。可问题是,,,,,,两个月前我特意去想弄懂什么是TSP问题,却看不懂啊,,,,现在却AC了,,而且思路神马的都是自己想的,,大囧啊,以后搞不懂的东西得换个思路来想了,,想着纠结了这么久的TSP原来就是一个bfs+dfs啊。先bfs找出所有的脏点与robot的最短步数。然后dfs找最短的旅行路线。ps:开始的时候竟然以为是最小生成树。。再囧。。不过收获蛮大的。对搜索熟悉了 阅读全文
posted @ 2012-10-02 16:17 Missa 阅读(856) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/229/A比完以后看了看其他人的代码,其实思路我是想到了,可是就是代码没实现,代码能力太弱了。。思路就是先预处理一下。把每行的close[i][j]标记出来。close[i][j]表示在第i行的第j个数最少移动几次可以使得map[i][j]变为1。在这里可以使用队列来得到close[i][j]的值,下面大牛的代码: 1 #include <cstdio> 2 #include <queue> 3 4 int ans[10010], min[10010]; 5 6 int main(){ 7 阅读全文
posted @ 2012-10-02 02:34 Missa 阅读(338) 评论(0) 推荐(0) 编辑
摘要: LCA问题可以与RMQ问题互相转化,长郡中学 郭华阳的《RMQ&LCA问题》讲的很好。这个博客也讲的很好:http://dongxicheng.org/structure/lca-rmq/Run IDUserProblemResultMemoryTimeLanguageCode LengthSubmit Time10873609xinghan02191330Accepted3176K47MSG++2000B2012-10-01 19:49:0310546730xinghan02191330Accepted2032K63MSG++1756B2012-07-27 17:08:33RMQ问题 阅读全文
posted @ 2012-10-01 20:02 Missa 阅读(2082) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 下一页