
POJ
JZK-Keven
退役ACMer
展开
-
POJ 3620 避开湖泊
【题目链接】广度优先搜索基本模型while (head<tail){ for (遍历四个方向) { tx=预测下一步的横坐标 ty=预测下一步的纵坐标 if (越界) continue; if (这个点可以走&&这个点没有被标记) { ...原创 2018-04-22 13:03:52 · 518 阅读 · 0 评论 -
POJ - 1655 Balancing Act
求树的重心树的重心也叫树的质心。对于一棵树n个节点的无根树,找到一个点,使得把树变成以该点为根的有根树时,最大子树的结点数最小。换句话说,删除这个点后最大连通块(一定是树)的结点数最小。我们假设以 1 为根节点,那么我们只能求到任意一个点的子树的大小,并不知道这个点的父节点方向的联通分量的节点个数,但我们已知这个节点的子树大小,并且所有节点数目为 n ,那么我们可以知道这个点的父节点方向的...原创 2019-07-09 15:41:25 · 254 阅读 · 0 评论 -
poj 3237 tree 树链剖分(边权)
将所有的边权变为边上两点里面的深度更大的节点的点权,然后在更新的时候,最后的一条链如果是一个点的话就不更新,反之,从头节点的儿子开始更新,即不更新头节点Code:#include <iostream>#include <stdio.h>#include <algorithm>#include <cstring>using names...原创 2019-05-02 23:33:24 · 275 阅读 · 0 评论 -
POJ 2104 第K小数(不带修主席树模板)
不带修主席树模板这篇博客代码挺好的https://blog.youkuaiyun.com/creatorx/article/details/75446472这篇博客图好评https://blog.youkuaiyun.com/qq_39809664/article/details/79934516#include <iostream>#include <algorithm>#...原创 2019-03-09 14:15:08 · 187 阅读 · 0 评论 -
POJ 1611 The Suspects (并查集模板)
Time Limit: 1000MS Memory Limit: 20000KTotal Submissions: 51019 Accepted: 24437DescriptionSevere acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a...原创 2018-10-09 23:02:01 · 188 阅读 · 0 评论 -
poj 3122 Pie
【题目链接】题目意思T组数据,每组数据给你两个正整数N(N<10000),M(M<10000),N表示下面有N个派,M表示有M个朋友(所以要m++,QAQ),其中每个人拿到的派必须是一整块,并且大小必须一样,求每个人拿到的派的最大值。 误差允许在1e-3之内。 Sample Input 3 3 3 4 3 3 1 24 5 10 5...原创 2018-08-12 17:25:28 · 168 阅读 · 0 评论 -
poj 2356 Find a multiple
【题目链接】题目意思给你一个正整数N(N&lt;10000),随后给出N个正整数,从这N个数中选任意个数字,要求任意个数字的和能整除N,先输出数字个数,然后按任意序列输出所有数字。 Sample Input 5 1 2 3 4 1 Sample Output 2 2 3思路分析求序列的前缀和(并对N取模),当...原创 2018-08-12 15:29:55 · 254 阅读 · 0 评论 -
POJ 1088 滑雪
【题目链接】动态规划,先将各点存入结构体,按照点值从小到大排序,从最小的点开始(假设这个点为A),判断周围四个方向有没有比这个点小的点值,如果有的话,判断 这个点值(点A的值) 与 周围点值+1 的大小,取最大值赋给点A。if (map[que[i].x][que[i].y]>map[tx][ty]){ if (dp[que[i].x][que[i].y]>(dp[t...原创 2018-04-20 21:40:43 · 137 阅读 · 0 评论 -
POJ 2533 最长上升子序列
【题目链接】动态规划,不懂的话看这篇文章的思路【链接】#include<iostream>#include<algorithm>#include<cstring> using namespace std;int main(){ int i,j,n; cin>>n; int dp[1005],maxs[...原创 2018-04-20 21:11:52 · 190 阅读 · 0 评论 -
POJ 1458 公共子序列
【题目链接】动态规划,直接看AC代码。#include<iostream>#include<cstring>using namespace std;int main(){ char a[300],b[300]; while (cin>>a>>b){ int i,j,m=strlen(a),n=strlen(b...原创 2018-04-18 21:10:11 · 187 阅读 · 0 评论 -
神奇的口袋
描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入输入的第一行是正整数n (1 <= n &...原创 2018-04-22 14:10:15 · 607 阅读 · 0 评论 -
POJ - 1556 The Doors
http://poj.org/problem?id=1556几何+最短路先算出所有的n*4+2个点和3*n个边界,然后每次从n*4+2个点中取两个点,判断一下这两个点构成的线段是否与3*n个边界相交,如果不相交,那么表示“这条路”是可以走的,就加边,否则不加边,然后跑一遍最短路。poj输出要%f,%lf 会错。#include <iostream>#includ...原创 2019-07-05 14:51:19 · 183 阅读 · 0 评论