09 2013 档案
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=1057【题意】:给定x的值,带入f(x)求函数值【题解】:注意第一个数的符号可能是'+',这里把我坑死了。。。【code】: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 char str[100000],tstr[1000];10 int stack[10000];11 void init()12 {13 int i;14 for(i=0;i='...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=1053【题意】:基本上就是求直线与圆的交点坐标【题解】:这种题我都比较喜欢用二分,三分做,果然可以完爆,哈哈,特有成就感的说。。。【code】: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 #define eps 1e-12 8 9 struct Point 10 { 11 double x,y; 12 Point(){} 13 Point(dou...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=4187【题意】:如题【题解】:取n,m的最小值进行遍历就可以了: 注意 0 1 这组测试数据【code】: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 int main()10 {11 int t;12 scanf("%d",&t);13 while(t--)14 {15 int n,m;16 ch...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=27987【题意】:给定坐标输出图形【题解】:处理坐标上的小技巧【code】: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 #define N 100 9 10 char str[N*3][N*3];11 12 void init()13 {14 int i,j;15 for(i=0;ix) x1=x;50 if(y1>y) y1=y;51 ...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=4225【题意】:给定任意杨辉三角的行数n,请输出杨辉三角中前n行中总共有多少偶数。【题解】: 找规律:1为奇数 0为偶数 打出表1111011111100011100111010101111111111000000011100000011101000001011111000011111000100010001110011001100111010101010101011111111111111111该发现什么了吧!!!【code】: 1 #include 2 #include 3 #inclu...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/contest_show.php?cid=2876#problem/31796【题意】: 如题,注意大小写情况【code】: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 struct Nod 11 { 12 int x,y,step; 13 }nd1,nd2; 14 15 int step[500][500]; 16 char temp[500]; ...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=27874【题意】:给你一个三角形三个顶点的坐标ABC,三角形各边取一点DEF,将三角形周长平均分割成两部分,求AE,DC,FB是否相交于一点,是,输出交点坐标,否,输出ERROR【题解】:几何体,一看就有点慌,就怕它卡精度,以前坑怕了,这里给出思路以及解题过程:先求出DEF的坐标再说,拿D举例:D在AB线段上,并满足AC+AD==DB+BC,这里我们可以用二分枚举来枚举出D的坐标EF点同上然后,CD与AE的交点O,判断O是不是也同时在BF上,在输出O的坐标,不在输出ERROR【ACcode】: .
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=20838【题意】: 有点长,略。【code】: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 double rat[220][220];11 double drat[220][220];12 13 struct Nod14 {15 int id;16 double rt;17 }node[220];18 19 int ...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=20832【题意】:给你一串字符串,求一个ST(0 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 int getST(char *names)11 {12 int a[100];13 int len = strlen(names);14 int i;15 int ST;16 int b[1000],cnt=0;17 f...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=20834【题意】:每次减少一半的空格,问经过多少次操作能得到每个单词之间的空格为1,输入字符串大小小于等于1MB【题解】:1、如果单词之间最大的空格数为2的n次方,那么输出22、否则输出n+1注意字符串大小1MB,这里用C++中string进行处理【code】: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 int main()10 {11 string ...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=1071【题意】:经过四个点的顺逆时针旋转,得到最终拼图【题解】:康拓展开+BFS,注意先预处理,得到所有状态,然后用hash来调用存在的状态【code】: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 #define N 363000 8 9 struct Nod 10 { 11 int b[10]; 12 int pos; 13 }nd1,nd2; 14 ...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=4357【题意】:在1000个数中选择3个之和是m的倍数,可能有多种选择方案,请输出标号排序最小的一组,并且三个标号按升序输出【题解】:三层循环,转化成两层循环 先将1000个数对m取余,存入mod数组,表示是否存在,并对该余数出现的位置进行标记保存,两层循环遍历两个数,用m-这两个数之和,看是否存在mod中,并且位置没有在之前的循环i、j中出现就可以。。。【code】: 1 #include 2 #include 3 #include 4 #include 5 #include 6 ...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=4359【题意】:输入N,表示几位数,0-这个N位数,有多少个满足条件的号码,不满足的情况为出现4,13的情况【题解】: 写暴力代码找规律 1 92 80 3 711 4 6319得出规律 a[i] = a[i-1]*9 - a[i-2]另外注意处理减法出现负数的情况【code】: 1 #include 2 #include 3 #include 4 #include 5 6 #define MOD 100000000 7 #define N 1000000 8 ...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=4358【题意】:给定起始位置和方向和目的地,按照左转、前进、右转、后退的优先级递减,也就是说能左转就左转,不能则继续前进,。。。,能走到T的位置输出YES,不能则输出NO。。。【题解】: 首先我们知道YES肯定就是走到了,若出现NO的情况,肯定是出现了死循环,这题主要考标记,什么时候表示已经进入了死循环呢?每个位置有一个方向,我们将这个位置第一次出现方向的时候标记下来,注意是第一次的方向噢,第二次经过的时候判断,是否方向相同,相同则表示出现了跟之前一样的状态,也就是说出现了循环。。。【code】.
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=4353【题意】:每次选择一个小格后,该小格的右上部分就全被删去了,且要求每次至少删去一个格子,选中左下角格子的人算输。【题解】:这个题嘛,这个题嘛,这个题嘛,还是看代码吧,不解释。。。【code】: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 int main() 9 {10 int t;11 scanf("%d",&t);12 while(t--)13 ...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=4352【题意】:给你个长串,输出该长串中能第一放出的技能,每个技能有对应的一个小子串,不能放出任何技能输出“Nothing Happened”【题解】:暴力匹配(数据量不大),若数据量巨大,则得用ac自动机解【code】: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 #define INF 1e9 8 9 struct Nod10 {11 char str1[40];12 ...
阅读全文
摘要:http://www.bnuoj.com/bnuoj/problem_show.php?pid=4351【题意】:用最小的矩形框,框住像素点差超过5的点。【题解】:求坐标x,y最大最小值【code】: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 int map[220][220]; 9 10 int abs(int x)11 {12 return x5)36 {37 exist=1;38 ...
阅读全文
摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4740【题意】: 森林里有一只驴和一只老虎,驴和老虎互相从来都没有见过,各自自己走过的地方不能走第二次,都会朝着一个方向走,直到这个方向不能走,然后转向,驴只会右转,老虎只会左转,当转过一次之后还是不能往前走,那么它就停下来不再移动了。。。问驴和老虎是否能相遇在一个坐标点。。。【题解】: 暴力搜索,模拟过程就能过,不存在超时问题【code】: 1 /* 2 JudgeStatus:Accepted time:15MS 3 Memory:4212K codeLenght:2591B...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3714【题意】: 题目意思看了很久很久,简单地说就是给你n个二次函数,定义域为[0,1000], 求x在定义域中每个x所在的n个函数的最大值的最小值。很拗口吧,显然这题不是组队或者耐心的做是不知道性质的,至少我没看出来。网上说是三分,我画了几个图,确实是。根据二次函数的性质,增长的快慢已经确定了,那的确是单峰的。那就OK了。另外eps的问题1e-8还是wa,1e-9AC。想了下,因为有系数a,b,c的缘故,一乘就WA了。代码就是三分了,没什么特殊的。(三分,什么时候我能主动的看出你???)【题解】: 第二..
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4717【题意】:给N个点,给出N个点的方向和移动速度,求每个时刻N个点中任意两点的最大值中的最小值,以及取最小值的时刻【题解】:两个点为例,任意两个点,按照自己的方向移动,一般情况下是,先两点慢慢接近,直到最近距离,然后慢慢远离,后面越来越远,图像画出来有点像抛物线,这题就是抛物线求最小值,三分:先二分时间,按照斜率确定移动方向,直到移动到抛物线的最低端注意题目精度,每次最好分1e-5以上,才能保证正确性【code】: 1 #include 2 #include 3 #include 4 #includ...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4722【题意】: 找GoodNumbers一个数N,如果它每一个位数字之和可以整除10,那么它就是GoodNumbers,比如451就是一个4+5+1=10,求[A,B]之间这样的数的个数【题解】: 先写一个暴力代码用来找规律发现: 0-10 1 0-100 10 0-1000 100 0-990 99 0-992 100 0-997 100 基本规律为 n/10 + (1或0) 加1的情况为:n/10*10到 n 有满足条件的 比如:997: 99 + (990到997是否有满足条...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2566假设一堆由1分、2分、5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0)。输入数据第一行有一个正整数T,表示有T组测试数据;接下来的T行,每行有两个数n,m,n和m的含义同上。对于每组测试数据,请输出可能的组合方式数;每组输出占一行。Sample Input2 3 5 4 8Sample Output1 2【题解】: 这里没有给出n,m的范围,建议使用第三种【code3】方式解【code1】:暴力O(N*N) 1 #include 2 #include 3..
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4715【code】: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 #define N 1000151 8 9 int prim[N+10];10 int hash[1000000];11 int mark[1000010];12 int cjsb[1000010];13 int hash_cnt=0;14 int lowbit(int i)15 {16 return i&-i;17 }18 v...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4710【code】: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 #define N 1000151 8 9 int prim[N+10];10 int hash[1000000];11 int mark[1000010];12 int cjsb[1000010];13 int hash_cnt=0;14 int lowbit(int i)15 {16 return i&-i;17 }18 v...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4707【题目大意】:Lin Ji 的宠物鼠丢了,在校园里寻找,已知Lin Ji 在0的位置,输入N D,N表示校园中点的个数,D表示宠物鼠不可能在距离D之内,接下来N-1行,输入x,y,表示x与y相邻,(相邻两点之间的距离为1,不相邻为inf),不存在环结构。【题解】:用邻接表存储树形结构,然后用DFS遍历图【code】: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 #define NN 100010 ...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4706【题目大意】: 用a-z排出N的形状,输出大小为3-10的N,如果超过z之后,重新从a开始下面是大小为3的N(其实这里的N是反的,呵呵)a ebdfc g大小为4的Nh ni mojl pk q【code】: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 char str[11][11][11]; 8 int cnt; 9 10 void solve(int id)11 {12 int n=id,i;13 ...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4712Hamming DistanceTime Limit: 6000/3000 MS (Java/Others)Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 797Accepted Submission(s): 284Problem Description(From wikipedia) For binary strings a and b the Hamming distance is equal to the number o
阅读全文

浙公网安备 33010602011771号