题解 【POI2008】KUP-Plot purchase】的更多相关文章

1127: [POI2008]KUP https://lydsy.com/JudgeOnline/problem.php?id=1127 分析: 如果存在一个点大于等于k,小于等于2k的话,直接输出. 否则把点分成两类,一类是<k的,另一类是大于2k的,大于2k的一定没用. 然后找一个全部由小于2k的点中组成一个的矩形(悬线法),这个矩形有三种情况:1.<k,没用:2.大于等于k,小于等于2k,输出:3.大于2k,它的子矩阵中一定存在一个合法的矩阵(因为每个元素都是<k的,所以增加一个元…
题面 先把题目意思讲一下吧: 给一个 \(n*n\) 的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于\([k,2k]\). 那么首先,可以想到,如果\(a[i][j]\)(格子的价格,下同)位于\([k,2k]\),直接输出就好. 而对于\(a[i][j]\)>\(2k\)的格子,它是不可能被选的,那么可以把它视为障碍物, 然后,剩下的格子的价格就一定小于\(k\). 那么,根据悬线法, 如果我们找到了一个极大子矩阵,且矩阵和(设为\(sum\))>=\(k\)(小于肯定是不行的…
Description 给一个n*n的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于[k,2k] Input 输入k n(n<2000)和一个n*n的地图 Output 输出矩形的左上和右下的列-行坐标 或NIE Sample Input inputdata14 31 1 11 9 11 1 1inputdata28 41 2 1 325 1 2 14 20 3 33 30 12 2 Sample Output outputdata1NIEoutputdata22 1 4 2 题解(…
Description 给一个n*n的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于[k,2k] Input 输入k n(n<2000)和一个n*n的地图 Output 输出矩形的左上和右下的列-行坐标或NIE Sample Input inputdata1 4 3 1 1 1 1 9 1 1 1 1 inputdata2 8 4 1 2 1 3 25 1 2 1 4 20 3 3 3 30 12 2 Sample Output outputdata1 NIE outputdata2…
Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 485  Solved: 174[Submit][Status][Discuss] Description 给一个n*n的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于[k,2k] Input 输入k n(n<2000)和一个n*n的地图 Output 输出矩形的左上和右下的列-行坐标或NIE Sample Input inputdata1 4 3 1…
题面 原来看过然后没做,结果板板把这道题改了改考掉了,血亏=.= 首先看看有没有符合条件的点.如果没有开始寻找解,先把所有的大于$2*k$的点设为坏点,然后求最大子矩形,只要一个最大子矩形的权值和超过$2*k$则它的一个子矩形一定可以成为解.因为这时所有点都小于$k$,这个最大子矩形既然权值和超过$2*k$那么一定是有一部分落在所求的区间中,然后逐行/列枚举切一下是一定有解的. 注意最大子矩形的边界(为什么你们的最大子矩形都要做两遍啊=.=) #include<cstdio> #include…
似曾相识的感觉 考虑另一个判断问题,给定一个k,问这个k是否可行 存在矩形和\(sum>2k\),则该矩阵不对判定做出贡献 存在矩形和\(sum\in [k,2k]\),则我们找到了一个解 于是判掉这两种情况,专心讨论\(sum<k\)的矩形 找到\(sum<k\)的极大矩形,按它的和\(S\)讨论 \(S<k\),则无解 \(S\in [k,2k]\),则我们找到了一个解 \(S>2k\),递归成小矩形继续求解 #include<cstdio> #include…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1127 大于2*K的视为不能选的“坏点”.有单个格子满足的就直接输出. 剩下的都是<K的格子,求面积大于等于K的一个矩形:若还<=2*K就直接输出,否则一列一列删: 删去一列后若仍>=2*K,继续:若>=K&&<=2*K,就输出:若<K,则删去的那一列满足>=K,在那列上一格一格删,因为格子<K,所以不能从>2*K跳到<K,一…
Description 给一个\(n\times n\)的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于[k,2k] Input 输入k n(n<2000)和一个\(n\times n\)的地图 Output 输出矩形的左上和右下的列-行坐标或NIE Sample Input 1 4 3 1 1 1 1 9 1 1 1 1 Sample Output 1 NIE Sample Input 2 8 4 1 2 1 3 25 1 2 1 4 20 3 3 3 30 12 2 Sample…
1127: [POI2008]KUP Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 317  Solved: 111[Submit][Status][Discuss] Description 给一个n*n的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于[k,2k] Input 输入k n(n<2000)和一个n*n的地图 Output 输出矩形的左上和右下的列-行坐标或NIE Sample Inpu…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
[POI2008]MAF-Mafia 很容易看出是拓扑 但不容易想出来怎么做[可能是我太菜 首先 入度为零的人是肯定死不了的 接着 我们分成环和链分析 对于一个链 最多的情况就是顺着一个个开枪 最后剩一个( (n - 1) -> (n), (n - 2) ->(n - 1) …… ) 最少的情况就是死一半(1->2, 3->4……) 对于一个环 它和链基本上一样 区别在于从任何一个人开始都不会影响结果 这个性质很有用 因为当有环接在链上时 最多的情况下环上的点会全部挂掉 void…
题意 给定k,n,和n*n的矩阵,求一个子矩形满足权值和在[k,2k]之间 , 题解 这里用到了极大化矩阵的思想.推荐论文<浅谈用极大化思想解决最大子矩阵问题>Orz 如果有一个元素在[k,2k]之间.直接输出就好. 否则.把所有大于2k的元素作为障碍点. 求每一个最大化矩阵.(用单调队列) 如果这个矩阵权值和大于等于k 那么这个矩阵一定有一个子矩阵满足条件.这个结论可以证明. 假设这个矩阵权值和小于等于2k则直接输出这个矩阵. 否则这个矩阵权值和一定大于2k 假设这个矩阵去掉第一行后权值和大…
问题 C: [POI2008]枪战Maf 时间限制: 1 Sec  内存限制: 256 MB 题目描述 有n个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪.因此,对于不同的开枪顺序,最后死的人也不同. 输入 输入n人数<1000000 每个人的aim 输出 你要求最后死亡数目的最小和最大可能 样例输入 8 2 3 2 2 6 7 8 5 样例输出 3 5 本次考试最后一个题,被老师评论称难炸了……然而貌似不那么难,但你…
思路:单调栈 提交:>5次 错因:单调栈写法有问题+前缀和写错 题解: 若有\(>=k\ \&\&\ <=2\times k\)的点,显然直接选他就行了. 否则,我们需要找到一个矩形(不一定只有一个),并且这个矩形只包含\(<k\)的点且总权值和\(>=2k\). 这样,我们可以尝试去切掉他的行来不断减少他的权值和. 如果发现某一行 \(>=2k\) ,我们应该去且他而不是切剩下的矩形(剩下的可能过小). 当然如果你切着切着发现出现了一个矩形他的权值和\…
作者:zifeiy 标签:状压DP,子集划分DP 题目链接:https://codeforces.com/contest/1238/problem/E 题目大意: 给你一个长度为 \(n(n \le 10^5)\) 的字符串s和 \(m(m \le 20)\) ,这个字符串由前 \(m\) 个小写字母组成. 现在你要找一个前 \(m\) 个字符的一个排列p,在这个排列p的基础上生成字符串s,并计算总代价. 代价的计算过程是: 比如我现在已经生成了字符串s的前i个字符 \(s_{1..i}\) ,…
题目 The first stage of train system reform (that has been described in the problem Railways of the third stage of 14th Polish OI. However, one needs not be familiar with that problem in order to solve this task.) has come to an end in Byteotia. The sy…
题目链接:https://www.luogu.org/problemnew/show/P3469 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define ll long long using namespace std; const int maxn = 500000 + 10; ll n, m, ans[maxn]; ll dfn[maxn]…
一道经典的割点例题,用size数组记录该子树有多少个节点,sum是这棵搜索树上有多少个节点,sum*(n-sum-1)是将点删掉后的数对数量. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 1000010 using namespace std; typedef long long ll; inline int read() { ;…
题面 设\(dp_i\)表示以\(i\)为根节点时所有节点的深度之和. 首先以 \(1\) 为根求出所有点深度之和\(dp_1\),并预处理每个点的子树大小. 设 \(v\) 是 \(u\) 的孩子,考虑根从 \(u\) 移动到 \(v\) 对 \(dp_v\) 产生的影响. 不难发现,\(v\) 子树内所有点深度 \(−1\),其余点深度 \(+1\). 即 \(dp_v = dp_u − size_v + (n − size_v)\). 再 \(\text{DFS}\) 一次即可求出所有的…
题目描述 给出一个$N$个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大 输入输出格式 输入格式 第一行一个数$n$,表示树上共有$n$个点接下来$n-1$行,表示$n-1$条边;每行两个数,表示这条边的两个端点 输出格式 一个数,表示以该节点为根时,所有点的深度之和最大 思路 设$u$为$v$的父节点 用$f[u]$表示以u为根节点时的最大深度和,用$size[u]$表示u的子树大小 以$u$为根的树,变成以儿子$v$为根的树, 那么所有在$v$的子树上的节点的深度都会减1,深…
[BZOJ1112][POI2008]砖块Klo 试题描述 N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任务. 输入 第一行给出N,K. (1 ≤ k ≤ n ≤ 100000), 下面N行,每行代表这柱砖的高度.0 ≤ hi ≤ 1000000 输出 最小的动作次数 输入示例 输出示例 数据规模及约定 见"输入" 题解 在滑动的区间内维护中位…
http://acm.hdu.edu.cn/showproblem.php?pid=5024 网络赛 Wang Xifeng's Little Plot Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 239    Accepted Submission(s): 156 Problem Description <Dream of the…
Recruit Coupon Purchase Winner's Interview: 2nd place, Halla Yang Recruit Ponpare is Japan's leading joint coupon site, offering huge discounts on everything from hot yoga, to gourmet sushi, to a summer concert bonanza. The Recruit Coupon Purchase Pr…
1132: [POI2008]Tro Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 815  Solved: 211[Submit][Status] Description 平面上有N个点. 求出所有以这N个点为顶点的三角形的面积和 N<=3000 Input 第一行给出数字N,N在[3,3000] 下面N行给出N个点的坐标,其值在[0,10000] Output 保留一位小数,误差不超过0.1 Sample Input 5 0 0 1 2 0…
1116: [POI2008]CLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 565  Solved: 303[Submit][Status] Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 你要把其中一些road变成单向边使得:每个town都有且只有一个入度 Input 第一行输入n m.1 <= n<= 100000,1 <…
1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 614  Solved: 235[Submit][Status] Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通. Input 输入n<=100000 m<=500000及m条边 Output 输出n个数,代表如果把第i个点去掉,将有多…
1112: [POI2008]砖块Klo Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1245  Solved: 426[Submit][Status][Discuss] Description N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任务. Input 第一行给出N,K. (1 ≤ k ≤ n ≤…
1121: [POI2008]激光发射器SZK Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 574  Solved: 475[Submit][Status][Discuss] Description 多边形相邻边垂直,边长为整数,边平行坐标轴.要在多边形的点上放一些激光发射器和接收器.满足下列要求: 1发射器和接收器不能放置在同一点: 2发射器发出激光可以沿壁反射,最终到达一个接收器: 3发射器只能沿角平分线发射激光.求:最多可放置多少对发射器…
1113: [Poi2008]海报PLA Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 765  Solved: 466[Submit][Status][Discuss] Description N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. Input 第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每行给出矩形的长与宽.其值在[1,1000000000]2 1/2 Postering Output 最…