POJ 3252
摘要:这题是我做的关于区间计数的第一道题,恩,纪念一下。本题题意是:给定2个数,判断2个数之间(闭区间)存在多少个"round number"(即转换成2进制,0的个数多于1的个数)。Sample Input2 12Sample Output6思路是:计算2-1以内的满足条件的数有多少个,以及12以内的数,再相减即可。那么如何进行计数呢。比如:31.它的二进制码可以分解为[1,10000),[10000,11000),[11000,11100),[11100,11110),[11110,111111)这样就包括了所有情况,除了31本身需特判下。分析[11110,11111),[1
阅读全文
posted @
2012-05-26 20:40
Dev-T
阅读(981)
推荐(0)
POJ 2034
摘要:这题主要是意思不太好理解,其实就是给定一个范围,然后指定一个区间d,使(2到d)的任意区间之和为合数即可。不过开始的时候得用素数筛选法,把非素数给标记出来。并输出这样的序列,直接搜索。。。 1 #include<iostream> 2 #include<cstdio> 3 #include<vector> 4 //#define end(x,y,z) (!((x == 0) && (y == 0) && (z == 0))) 5 #define MAXN 10005 6 using namespace std; 7 int p
阅读全文
posted @
2012-05-24 00:10
Dev-T
阅读(593)
推荐(0)
POJ 1026
摘要:还是置换的基本概念.有点要注意下,就是循环次数可能非常高,所以不能纯模拟,先mod一下,再处理. 1 #include<iostream> 2 #include<cstdio> 3 #include<vector> 4 #define MAXN 204 5 using namespace std; 6 char data[MAXN]; 7 char result[MAXN]; 8 int num[MAXN]; 9 vector<vector<int> > qun;10 11 void ini(int n)12 {13 bool vis
阅读全文
posted @
2012-05-23 15:34
Dev-T
阅读(251)
推荐(0)
POJ 3270
摘要:省赛被虐了,最近就搞搞数论和组合数学的题目。这题主要运用了组合数学中的置换群概念,其他也没什么好说的了。 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 #include<vector> 5 #include<algorithm> 6 #define MAXN 10005 7 using namespace std; 8 int data[MAXN],note[MAXN]; 9 bool vis[MAXN];10 11 int search(int n, int
阅读全文
posted @
2012-05-23 13:17
Dev-T
阅读(260)
推荐(0)
POJ 2826(巨恶心的几何题,不过这题还是很锻炼找错的能力的)
摘要:一开始的时候分析对了,不过老是WA。。。。。。唉,后来找了点测试数据,照我原来的想法应该是可以的装水的,不过输出却是0.00.。。。。呃,好吧,慢慢找错。。我就大致总结下,哪些地方有可能犯错:1.2个线段共线的情况。2.计算积水面积的时候不能只选择y小的那个,要考虑y如果相等的话呢。(我就是被这卡了)3.在考虑一块木板是否被另一块挡住的时候,我是这样考虑的:如果2个线段y较大的点组成的线段,如果不严格跨立y轴,则肯定可以积水。。(排除2个线段中存在一个平行X轴,2线段共线,及其中一个线段的点在另一个线段上,也就是2个线段严格相交的情况,这里的线段是指题目开始给出的线段)。反之,选择在另一个线段
阅读全文
posted @
2012-05-16 16:25
Dev-T
阅读(865)
推荐(0)
POJ 4048 金华赛区E题
摘要:这题算是给自己敲了个警钟,模板必须高度可靠,原来我在各个OJ都能过题的模板,在现场塞被卡的很惨。。。算法导论上的模板才是王道啊。。。(就差那么一点,就就,唉~~~~~~~~~~~~~~~~~)从此以后再不相信网上各种模板了。还是贴代码吧。#include<iostream>#include<cstdio>#include<algorithm>#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))#define MAXN 1504typedef double data
阅读全文
posted @
2012-05-12 23:36
Dev-T
阅读(325)
推荐(0)
POJ 4052 金华邀请赛I题
摘要:这题当时比赛的时候,题目看了好久,没看懂(英语6级没过的压力很大啊),当时想先敲E题(后来事实证明这个选择是错误的。。E题到现在都不知道哪出错了)其实题目就是给出N个字符串,如果S2包含S1,如果S2在文章中的话,就只计算S2,而不计算S1.反之亦然。比赛时苦苦纠结于到底什么是text finger print。看懂题目后这题就是一个AC自动机的水题。直接上代码#include<iostream>#include<cstdio>#include<queue>#include<string>#include<vector>#includ
阅读全文
posted @
2012-05-11 22:23
Dev-T
阅读(528)
推荐(0)