poj
qwurey
学生
展开
-
poj 1702 平衡三进制
思路: 平衡三进制。 先将n转换为3进制,再转化为平衡3进制,-1项全部移到右面,左右面分别输出。平衡三进制具体转化方法 先转化为用0,1,2表示的3进制,然后通过“借位”转换 若对应的系数为2,则变为-1,下一位+1 若对应的系数为3,则变为0,下一位+1 为0或1时不变原创 2015-07-24 21:41:09 · 1410 阅读 · 0 评论 -
poj_2109 二分+大整数乘法
二分查找+思路:原创 2014-04-13 11:24:51 · 1034 阅读 · 0 评论 -
poj_2632 构造
思路:构造模型#includeusing namespace std;struct Robots{ int x; int y; int z;};int main(){ int t,num,i,j; cin>>num; int map_length,map_width; for(t=0;t<num;t++) { int map[102][102]={0原创 2014-04-26 23:04:42 · 578 阅读 · 0 评论 -
poj_1068 字符串匹配
思路:原创 2014-04-25 20:00:51 · 850 阅读 · 0 评论 -
poj_3295 枚举
#include #includeusing namespace std;char wff[110]; int p,q,r,s,t;int last;stack ss;bool isVariable(char value){ switch(value) { case 'p':ss.push(p);return true; case 'q':ss.push(q);r原创 2014-04-25 17:36:33 · 677 阅读 · 0 评论 -
poj_1840 枚举+map
原方程变换为:(a1*x1^3+a2*x2^3) = - (a3*x3^3+a4*x4^3+a5*x5^3)左部枚举出值打表,右部枚举出值的相反数在表中若已经存在,则sum加上已经存在的个数。如暴力枚举则必然TLE,O(n^5),变换后降维,复杂度为O(n^2+n^3)。code:#include #include #include using name原创 2015-01-25 19:49:01 · 783 阅读 · 0 评论 -
poj_2253 最短路floyd
思路:floyd注意:if的判断原创 2014-05-16 22:03:32 · 1008 阅读 · 0 评论 -
poj_1328 贪心
思路:原创 2014-04-09 19:45:06 · 592 阅读 · 0 评论 -
poj_3274 哈希
这题读了半天才读懂是什么意思=。=!又做了半天才AC=。=!题意:有N个奶牛(1N=7,K=3row1:7 | 111row2:6 | 110row3:7 | 111row4:2 | 010row5:1 | 001row6:4 | 100row7:2 | 010可以发现,row3到row6这个范围内,每个特征都出现了2次,且这一范围(即size=6-3+原创 2015-01-24 21:56:29 · 605 阅读 · 0 评论 -
poj_2299 归并排序+逆序数
题意:给定一组无序序列,每次只能交换相邻的两个元素,求最少交换几次才能使序列有序。思路:冒泡可以做,但是会超时,所以必须想其它办法,这里使用归并排序,在合并两个子序列时计算需要付出的逆序数,最后逆序数的总和即为最少交换次数。所谓逆序数就是逆序排列的个数,比如一组数为:2,4,3,1,则逆序数为:4。(这里规定升序是标准序)对于2来说,21逆序;对于4来说,43、41逆序;对于3原创 2015-01-23 21:50:26 · 629 阅读 · 0 评论 -
poj_1035 串
对每个给定的词,在字典中查是否equal,或者是否可以通过replace、insert、delete构成,若可以,记录。水题。code:#include #include using namespace std;char dict[10001][16];char word[51][16];int dictNum = 0;int wordNum = 0;int dictLe原创 2015-01-23 15:12:48 · 486 阅读 · 0 评论 -
poj_2388 排序
快排+返回中位数。水题。code:#include #include using namespace std;void quicksort(int data[],int left,int right){ if (left < right) { int i = left, j = right, x = data[i]; while (i < j) { whi原创 2015-01-23 16:56:12 · 518 阅读 · 0 评论 -
poj_1936 串
水题。给定串s1,s2,看s2减去若干字符是否可以构成s1。code:#include #include using namespace std;int main(){ //ifstream in("input.txt"); char s1[100000], s2[100000]; long i, j; while (cin >> s1 >> s2) { long原创 2015-01-23 16:16:48 · 591 阅读 · 0 评论 -
poj_2002 哈希
题意:给定一堆点,判断能构成多少个正方形枚举前两个点,根据前两个点推算出后两个点,看后两个点在不在表中,若在,ans++,记得最后ans除以4,多算了4倍。code:#include #include using namespace std;const int HASH_BASE = 1007;int n;int map[1000][2];int ha原创 2015-01-26 10:42:06 · 491 阅读 · 0 评论 -
poj_3349 哈希
题意:n片雪花,判断是否存在两个“相同的”雪花。每个雪花由6个整数组成,两个雪花相同是说从一个雪花的任意一个数开始遍历可以得到另一个雪花的6个整数,无论是顺时针或者是逆时针方向,比如:123456有如下12种组合123456 | 654321234561 | 543216345612 | 432165456123 | 321654561234 | 21654361234原创 2015-01-24 13:36:03 · 655 阅读 · 0 评论 -
poj_1753 递归+枚举
思路是别人的,自己理解了半天,渣渣原创 2014-04-08 20:48:47 · 2926 阅读 · 5 评论 -
poj 1775 DFS
思路: DFS。 注意: 0的阶乘是1; n=0时 为NO;原创 2015-07-24 17:20:21 · 552 阅读 · 0 评论 -
poj 1351 DFS
思路: 记忆化搜索原创 2015-07-24 20:21:40 · 608 阅读 · 0 评论 -
poj 1321 DFS
思路: DFS。类似八皇后问题。原创 2015-07-24 17:21:45 · 380 阅读 · 0 评论 -
poj_1664 递归
思路: 递归。条件:m:apple, n:plate 问题:func(m, n)划分问题为若干个子问题:原创 2015-07-25 22:04:48 · 977 阅读 · 0 评论 -
poj1163 简单DP
思路: 简单DP。原创 2015-07-25 21:17:26 · 456 阅读 · 0 评论 -
poj 1164 DFS
思路: DFS。 求分割出多少空间 & 最大连通区域。原创 2015-07-25 16:25:14 · 417 阅读 · 0 评论 -
poj 3278 BFS
思路: BFS。 BFS的目标就是求最短(可能是最短路径长度,可能是最短路径)。本题就是通过BFS来求最短路径长度。每次有三个方向来扩展状态(想象成三叉树)。原创 2015-07-25 17:13:50 · 543 阅读 · 0 评论 -
poj_3624 01背包
01背包的DP状态转移方程:考虑第i件物品;如果背包装的下第i件物品,则state[i][j] = max {state[i-1][j] , state[i-1][j-w[i]+v[i]};如果背包装不下第i件物品,则state[i][j] = state[i-1][j];基于上述思想,容易写出二维空间的DP:#include #include using namespa原创 2015-03-02 16:08:48 · 706 阅读 · 0 评论 -
poj_2965 递归+枚举
本题与1753思路一样,区别就在于要记录原创 2014-04-09 11:22:18 · 1060 阅读 · 0 评论 -
poj_1573 构造
思路:构造模型原创 2014-04-26 19:06:19 · 670 阅读 · 0 评论 -
poj_2586 贪心
思想:贪心+枚举原创 2014-04-13 15:49:30 · 753 阅读 · 0 评论 -
poj_1001 高精度浮点
嘈点太多。。。4个小时。。。注意点:(1)、0次幂=1;(2)、测试数据有前导0;(3)、0.001 -> .001更多的测试数据看discuss,过了那些就AC了。。。code:#include #include #include using namespace std;const int size = 1000;char a[size + 1]原创 2015-02-06 22:22:55 · 460 阅读 · 0 评论 -
poj_2196 进制转换
水题code:#include using namespace std;int sum(int a, int b){ int ret=0; while (a) { ret += a%b; a /= b; } return ret;}bool judge(int n){ if (sum(n, 10) == sum(n, 12) && sum(n,10)原创 2015-02-05 18:20:02 · 393 阅读 · 0 评论 -
poj_3650 字符串处理
使用中字符串处理函数:(1)、getline(istream &in,string &s):–从输入流中读入字符,存到string变量–直到出现以下情况为止:•读入了文件结束标志•读到一个新行•达到字符串的最大长度(2)、int position=string.find("xxx"):返回string中首次出现串xxx的下标位置给position如果positi原创 2015-02-06 12:55:34 · 509 阅读 · 0 评论 -
poj_1094 拓扑排序
#include#includeusing namespace std;int map[27][27];int indegree[27],queue[27];int toposort(int n){ int flag=1,m,loc,count=0; int temp[27]; for (int i = 1; i <= n; i++) { temp[i] = inde原创 2014-09-15 21:24:29 · 655 阅读 · 0 评论 -
poj_3041 匈牙利算法
思路:原创 2014-09-16 13:25:43 · 2940 阅读 · 0 评论 -
poj_3020 Antenna Placement匈牙利算法
思路:原创 2014-09-26 15:17:35 · 751 阅读 · 0 评论 -
poj_2446 Chessboard匈牙利算法
思路:原创 2014-09-26 10:36:28 · 1027 阅读 · 0 评论 -
poj_3026 BFS+Prim
题目说明:原创 2014-08-18 16:22:30 · 657 阅读 · 0 评论 -
poj_1789 Prim算法应用
题意说明:原创 2014-08-16 22:00:40 · 1298 阅读 · 0 评论 -
poj_1258 Prim算法应用
题意说明:原创 2014-08-17 10:45:29 · 857 阅读 · 0 评论 -
poj_2485 Prim算法应用
题意说明:一个岛国若干个村庄建原创 2014-08-16 23:28:19 · 861 阅读 · 0 评论 -
poj_2240 Bellman-ford算法变形
还是自己尝试了一下bellmanford,原创 2014-07-25 16:56:32 · 831 阅读 · 0 评论 -
poj_3259 Bellman-Ford时间虫洞
关键理解题意,原创 2014-07-24 16:58:57 · 762 阅读 · 0 评论