Problem B Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission(s) : 170   Accepted Submission(s) : 29 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description WKC有N个排成一排的灯泡,亮度分别为(A1,A2,…
首先得讲一下单调队列,顾名思义,单调队列就是队列中的每个元素具有单调性,如果是单调递增队列,那么每个元素都是单调递增的,反正,亦然. 那么如何对单调队列进行操作呢? 是这样的:对于单调队列而言,队首和队尾都可以进行出队操作,但只有队尾能够进行入队操作. 至于如何来维护单调队列,这里以单调递增队列为例: 1.如果队列的长度是一定的,首先判断队首元素是否在规定范围内,如果不再,则队首指针向后移动.(至于如何来判断是否在制定范围内,一般而言,我们可以给每个元素设定一个入队的序号,这样就能够知道每个元素…
约翰开车回家,又准备顺路买点饲料了(咦?为啥要说"又"字?)回家的路程一共有 E 公里,这一路上会经过 K 家商店,第 i 家店里有 Fi 吨饲料,售价为每吨 Ci 元.约翰打算买 N 吨饲料,他知道商家的库存是足够的,至少所有店的库存总和不会少于 N.除了购买饲料要钱,运送饲料也是要花油钱的,约翰的卡车上如果装着 X 吨饲料,那么他行驶一公里会花掉 X 2 元,行驶 D 公里需要D X 2 元.已知第 i 家店距约翰所在的起点有 Xi 公里,那么约翰在哪些商店买饲料运回家,才能做到最…
5281: [Usaco2018 Open]Talent Show Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 79  Solved: 58[Submit][Status][Discuss] Description FarmerJohn要带着他的N头奶牛,方便起见编号为1…N,到农业展览会上去,参加每年的达牛秀!他的第i头奶牛重量为wi,才艺水平为ti,两者都是整数.在到达时,FarmerJohn就被今年达牛秀的新规则吓到了:   (一)参加比…
维护一个递增的和递减的单调队列 Assignment Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 78    Accepted Submission(s): 40 Problem Description Tom owns a company and he is the boss. There are n staffs which a…
Description 给你一个单调不下降的长度为n的序列,请你找出一个最长的子序列,满足找出的子序列中,\(A_i<=A_{i-1}~\times~2\),其中i为下标,A为找出的子序列.对于一个长度为\(p\)的子序列,\(i~\in~[1,p-1]\). Input 两行,第一行是原序列的长度\(n\) 第二行是\(n\)个数,代表原序列中的\(n\)个数. Output 一行一个数,代表最长的长度 Sample Input 10 1 2 5 6 7 10 21 23 24 49 Samp…
描述 给定一个N × M的01矩阵,小Hi希望从中找到一个01间隔的子矩阵,并且子矩阵的面积越大越好. 例如对于 0101010 1000101 0101010 1010101 0101010 在右侧有一个5 × 4的01间隔子矩阵,在下方有一个3 × 7的01间隔子矩阵. 输入 第一行包含两个整数N和M. 以下N行M列包含一个N × M的01矩阵. 对于30%的数据,1 ≤ N, M ≤ 250 对于100%的数据,1 ≤ N, M ≤ 2000 输出 输出最大的01间隔子矩阵的面积. 样例输…
题目: 题目描述 给你一个长度为 N 的数组,一个长为 K 的滑动的窗体从最左移至最右端,你只能见到窗口的 K 个整数,每次窗体向右移动一位,如下表:…
传送门 惭愧……这种题目都没看出来…… 首先,我们用$dp[i][j]$表示在第$i$天,手上有$j$股时的最大收益 第一,我们可以直接买股票,即$dp[i][j]=-j*AP_i$,这个直接计算即可 第二,我们可以不操作,那么$dp[i][j]=max(dp[i][j],dp[i-1][j])$ 第三种,我们买股票,那么$dp[i][j]=max(dp[i][j],dp[i-w-1][k]+k*AP_i-j*AP_i)$ 第四种,我们卖股票,那么$dp[i][j]=max(dp[i][j],d…
传送门 啧……明明以前做到过这种类型的题结果全忘了…… 这种矩阵的,一般都是先枚举行,然后对列进行一遍单调队列,搞出右下角在每一行中合法位置时的最小权值 再枚举列,对行做一遍单调队列,用之前搞出来的最小权值再做一次单调队列,更新答案 感觉很难讲清楚啊……看代码好了……虽然代码可能更不清楚…… //minamoto #include<bits/stdc++.h> using namespace std; #define getc() (p1==p2&&(p2=(p1=buf)+f…