经常犯的错误:
队列用完要清零啊!POJ1915宽搜
又是没有清零flag! POJ1562
奇奇怪怪:
Pow()函数真奇怪!Pow(27,1.0/3)=2? POJ2363 一样的题目,放心从1开始到sqrt!POJ3536
数组模拟大数除法,哪里错了?感觉都是对的啊!POJ2249
求组合数啊!已经注意到了unsigned 甚至改了LL WA了,前面有题就过了!POJ1942
测试数据都过了 到底是想怎样!POJ1690
POJ2192DP?我直接打了表O(N^2)复杂度,时间是够的,WA了,怎么回事啊。。
坑多:
POJ1350输入的可能不是四位数。每次算出的数可能是三位数。排出来的小的数也可能是三位数。
POJ2562很简单的题目,但是最后输出要注意英语语法。大于1要加s!
POJ3157我没想到题目会这么坑啊,开头只能是小写字母,最后不能是"_",而且黑体字不能打出来,晕。
POJ1730要考虑负数的情况,实际上指数的最大奇约数就行了。另外2^31是无法存在int里面的,溢出了!
POJ2190WA了好多次!最后一位是X才行~另外,是逆序相乘呀!所以p=10-i~~
想法很重要:
POJ1650不妨设x<1 n/m < x <(n+1)/m next (n+1)/(m+1)
n/m < x < (n+1)/(m+1) OR (n+1)/(m+1) < x < (n+1)/m
Next (n+1)/(m+2) (n+2)/(m+2)
概念理解:
宽搜?深搜?
用了搜索却分不清是哪种搜索。
连通块问题当然是深搜比较节约时间,层层递进,不需要反复的出栈、入栈。
但是求最短路的时候,还是用宽搜!就像波阵面那样!POJ2243
宽搜开了int[300000]为什么会RE呢?幸好机智的我后来用了bool!POJ3278
POJ1088一个一个搜太慢了,应该利用已经得到的地图~这样的思路其实是顺向的~可以逆向!
审题
POJ2640 题目没看清,只看样例,那容易自己瞎猜嘛!注意看到说不用全部线段的!
POJ2159 只要频率对应相等就是YES,因为变换的方法有很多的~
涨知识
POJ 2954 皮克定理 三个格点围成的面积S=内点 + 边点/2 - 1,一个神奇的定理,应该是数归出来的。
叉乘公式算三点围成的面积:(a,b)(c,d)(e,f)三点,给定三角形,直角梯形减去三角形可推出。
|
a |
b |
1 |
S = 1/2* |
c |
d |
1 |
|
e |
f |
1 |
#include <bits/stdc++.h>包含了所有的头文件
pi =acos(-1);
新用的函数
Sscanf(str,"%d", &num);类似于这样就能读入字符串里的整数了。POJ2572
switch(x){
case'.'-'a'+1:cico[i] = 27;break;
case'_'-'a'+1:cico[i] = 0;break;
default:cico[i]= x;break;
}//注意switch后面不用加冒号,case后面要加冒号。
Scanf("%s",&str+1);//这样可以从str[1]开始读入,输出也必须是它~
Strlen(str+1);//是从str[1]开始读到'\0',因此要注意len~
关于共用体的覆盖:
Int 4字节 每个8位连续
Char 1字节
并且最低的八位为首字节,则此时覆盖的仅低八位(首地址)
背包
Poj 3624为了省内存,只要开两个一维数组就够了!
POJ1157DP差不多的,关键是dp[i][j]=max{dp[i-1][j-1]+value[i][j],dp[i][j-1]};