poj分类解题报告索引

图论

图论解题报告索引

DFS

poj1321 - 棋盘问题

poj1416 - Shredding Company

poj2676 - Sudoku

poj2488 - A Knight‘s Journey

poj1724 - ROADS(邻接表+DFS)

BFS

poj3278 - Catch That Cow(空间BFS)

poj2251 - Dungeon Master(空间BFS)

poj3414 - Pots

poj1915 - Knight Moves

poj3126 - Prime Path

poj1753 - Flip Game(BFS+位运算)

poj1383 - Labyrinth(求两点最长路,两次BFS)

poj1985 - Cow Marathon(求两点最长路,两次BFS)

poj2049 - Finding Nemo(网格中的BFS)

动态规划DP

poj1837 - Balance

poj2479 - Maximum sum

poj2063 - Investment(完全背包)

poj1014 - Dividing(多重背包)

poj1742 - Coins(多重背包)

poj1276 - Cash Machine(多重背包)

poj2392 - Space Elevator(多重背包)

poj2192 - Zipper(最长公共子序列)

poj1458 - Common Subsequence(最长公共子序列)

poj1080 - Human Gene Functions(最长公共子序列)

poj2250 - Compromise(最长公共子序列)

poj1159 - Palindrome(最长公共子序列)

poj2385 - Apple Catching

poj1018 - Communication System

poj2241 - The Tower of Babylon(最长公共子序列变种)

poj1157 - LITTLE SHOP OF FLOWERS

并查集

poj1703 - Find them, Catch them(类别偏移并查集)

poj2492 - A Bug‘s Life(类别偏移并查集)

poj2236 - Wireless Network(简单并查集)

贪心

poj1716 - Integer Intervals

博弈

poj2348 - Euclid‘s Game

poj2505 - A multiplication game

几何

poj3304 - Segments(线段与直线相交)

poj1410 - Intersection(线段与线段相交)

poj1654 - Area(多变形面积)

poj1113 - Wall(凸包)

poj1228 - Grandpa‘s Estate(凸包变形)

poj2653 - Pick-up sticks(线段与线段相交)

poj2318 - TOYS(点与线段的叉积+二分)

poj2398 - Toy Storage(点与线段的叉积+二分)

同余模

poj1426 - Find The Multiple(位运算+同余模)

欧拉函数

有关欧拉函数的介绍
http://blog.csdn.net/wangjian8006/article/details/7833319

排列组合

poj1731 - Orders(重复字母全排列)

poj1270 - Following Orders(全排列)

矩阵法

poj3233 - Matrix Power Series(构造矩阵与矩阵二分快速幂)

poj3725 - Training little cats(构造矩阵与矩阵二分快速幂)

数据结构

poj2418 - Hardwood Species(二叉排序树)

poj3264 - Balanced Lineup(线段树)

网格

poj2954 - Triangle

模拟

poj3087 - Shuffle‘m Up

poj1730 - Perfect Pth Powers(pow函数应用)

poj1450 - Gridland(找规律)

poj2244 - Eeny Meeny Moo(约瑟夫模拟)

poj2246 - Matrix Chain Multiplication(基本矩阵)

时间: 2024-10-05 13:53:13

poj分类解题报告索引的相关文章

poj图论解题报告索引

最短路径: poj1125 - Stockbroker Grapevine(多源最短路径,floyd) poj1502 - MPI Maelstrom(单源最短路径,dijkstra,bellman-ford,spfa) poj1511 - Invitation Cards(单源来回最短路径,spfa邻接表) poj1797 - Heavy Transportation(最大边,最短路变形,dijkstra,spfa,bellman-ford) poj2240 - Arbitrage(汇率问题,

广大暑假训练1 E题 Paid Roads(poj 3411) 解题报告

题目链接:http://poj.org/problem?id=3411 题目意思:N个city 由 m 条路连接,对于一条路(假设连接Cityia和 Cityb),如果从Citya 去 Cityb的途中,之前已经走过Cityc(可能会等于a),那么就可以交p的钱,否则之前未走过Cityc,就一定要交r 的路费啦. 注意,一个点可以被反复多次走,也就是可能构成环,虽然路走长了,但路费便宜了,这个问题要考虑到.还有就是剪枝啦:如果当前求得的路费比以前求得的答案要大,那就要回溯. mincost 明明

POJ 2230 解题报告

分析: 基础的欧拉路算法,变化在于要求每条边正向和反向各走一遍. 链式前向星构图,只要标记走过的单向边,边找边输出即可. code #include <iostream> #include <cstdio> using namespace std; struct node { int v, ne; } edge[100009]; int head[10009], vis[100009], cnt = 1; int n, m, x, y; void addedge (int u, i

POJ 2438 解题报告

分析: 2*n个小朋友,每个最多有n-1个"敌人",显然是存在哈密顿回路的. 预处理边,然后找哈密顿回路. code #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <vector> using namespace std; #define pb push_back #define sz(a) (int

POJ 1001 解题报告 高精度大整数乘法模版

题目是POJ1001 Exponentiation  虽然是小数的幂 最终还是转化为大整数的乘法 这道题要考虑的边界情况比较多 做这道题的时候,我分析了 网上的两个解题报告,发现都有错误,说明OJ对于错误的判断还不够严厉. 对边界情况的讨论其实应该是思维严密的表现,当然这并不能表明我写的一点错误都没有,只是多多分析一下还是很有好处的. #include <iostream> #include <fstream> #include <string> #include &l

POJ Sticks1011解题报告

1 //Sticks1011 By XieJiang 20170417 2 /** 3 *0.最小木棍的长度一定小于等于所有木棍长度之和,大于等于输入的最长的木棍 4 *1.当Sticks[i]可用时,而Sticks[i-1]不可用且Sticks[i-1]=Sticks[i],Sticks[i]不可用,在DFS的过程中, 5 如果当前木棒和前一个木棒长度相等,并且前一根木棒没有被使用,这说明此种长度的木棒不在此次遍历的解中,因此直接跳过 6 *2.当组成木棒时,从大到小选取 7 *3.组成木棒时

POJ 1005 解题报告

题意就是,有一块半圆形区域,从0,0点开始向四周扩展,每年扩展50.0面积(单位统一不用考虑). 计算给定点在第几年结束之前被圆形区域覆盖. 我的思路: 1.计算以给定点到原点长度的半径做半圆的面积. 2.除以50.0,所得结果加1,就是所求 PI取3.14159265 #include<iostream> #include<string> using namespace std; int main() { double x, y; int n; const double PI =

poj 3020 Antenna Placement 解题报告

题目链接:http://poj.org/problem?id=3020 题目意思:首先,请忽略那幅有可能误导他人成分的截图(可能我悟性差,反正有一点点误导我了). 给出一幅 h * w 的图,  “ * ” 表示 point of interest,“ o ” 忽略之.你可以对 " * " (假设这个 “* ”的坐标是 (i, j))画圈,每个圈只能把它四周的某一个点括住(或者是上面(i-1, j) or 下面(i+1, j) or 左边(i, j-1)  or 右边(i, j+1))

poj 1469 COURSES 解题报告

题目链接:http://poj.org/problem?id=1469 题目意思:略 for 循环中遍历的对象要特别注意,究竟是遍历课程数P 还是 学生数N,不要搞混! 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 const int maxn = 300 + 5; 7 int match[maxn], map[maxn][maxn];