首页 > TAG信息列表 > P1514

洛谷 P1514 引水入城

题目传送门 dfs+性质题,最直接的想法,求出第一行的每个点可以覆盖最后一行哪些点,然后做处理. 但是我们求出来的有可能有一些是不连续的区间,怎么办?(想了好久),其实要用到本题的一个性质,如果最后一行的某个点的左右两个点都被第一行的同一个点覆盖而这个点没有被覆盖,那就说明

[洛谷P1514][题解]引水入城

首先明确一个事情:如果能全部覆盖,那么一个蓄水厂覆盖到的区间一定是连续的 所以 先染色判断能否覆盖到,然后贪心覆盖一下就好了 代码: #define N 510 int n,m; int mp[N][N],l[N][N],r[N][N],vis[N][N]; int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1}; void DFS(int x,int y){//求每个蓄水

题解 Luogu P1514 【引水入城】

有一种神奇的算法叫做floodfill 就是一个n*m的矩阵,a[i][j]为当前高度,我们可以任选一个点倒水,开始bfs,如果要搜的点没有被搜到过,并且高度小于当前的点,我们就把这个点加入队列中 而这道题我们可以用floodfill做 先假设有解,也就是说假设干旱区里的所有城区都能建水利措施。 对于第一行

【搜索】【动态规划】【杂题】——洛谷P1514.引水入城

是一道十分巧妙的题目。 GO:传送门     首先考虑第一问:   能否满足要求,用搜索遍历一下地图即可。 难就难在第二问:如何求最小蓄水站数量?   我们从河边开始走,从一个点(i,j)开始,由水流方向dfs,处理出每个节点到最底端最多能覆盖多长的一段路径。   我们可以证明,如果有解,这段路

【洛谷 P1514】 引水入城 I 广搜 + 区间覆盖

https://www.luogu.org/problem/P1514 NOIP  在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政 区划十分特殊,刚好构成一个N行M列的矩形,如上图所示,其中每个格子都代表一座城 市,每座城市都有一个海拔高度。 为了使居民们都尽可能饮用到清澈的湖水,现

P1514引水入城

题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政区划十分特殊,刚好构成一个NN 行\times M×M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度。 为了使居民们都尽可能饮用到清澈的湖水,现在要在某些城市建造水利设施

NOIP 2010 P1514 引水入城

题目:传送门     题目概要:有一个n行m列的矩阵,每一个格子都有一个高度,路径只能从高处向低处扩散,问你如果最后一行可以全部被覆盖,最少要从第一行多少个格子开始,如果不能使最后一行全部被覆盖,求有多少个格子不能;   看完这道题,最直接的想法就是直接定义dx,dy两个数组表示上下左右走,看

P1514 引水入城 笔记

首先是这周主要是做搜索啊模拟啊什么的,感觉没有找到什么能写的东西,但是现在困得不行,也不想闲着,就找了一题来记一下。 P1514 引水入城 这个题是搜索+动规,思路是用搜索找到湖边的每一个点到沙漠边能覆盖几座城,这是一个线段覆盖,那么问题就转换成了凭每个线段覆盖的范围找出最少需