單調佇列是也。
nkoj3545
我們發現,本題的時間複雜度必須是線性的,時間複雜度只能是 o(nt)
於是我們考慮如果如果原函式是單調的,字首和也是單調的,那麼本題就很好搞了。
在這種特殊情況下,我們利用單調佇列,乙個指向開頭乙個指向末尾。
由於sum[r]-sum[l]>=p時,向右移動r不會對答案進行更新
由於sum[r]-sum[l]=p (當sum[r]-sum[l+1]#include#define int long long
using namespace std;
struct node
z[100005];
int t;
int n;
int x;
bool cmp(node aa,node bb)
change(l,n);
printf("%lld %lld %lld\n",anz,ansl,ansr);
}main()
z[++n].x = 0; z[n].sum = 0;
sort(z+1,z+1+n,cmp);
for(int i=1;i<=t;i++) scanf("%lld",&x),solve();
}
NKOJ 3545 接近(DP 單調佇列)
問題描述 對於乙個數字序列a,並且有若干詢問。對於每個詢問,要求求出一段在序列a中非空 的連續段使得這一段數字的總和的絕對值盡量接近p。輸入格式 第一行2個數n t,表示序列的長度和詢問的個數。接下來一行n個整數,表示a序列。接下來t行,每行乙個數p表示詢問。輸出格式 共輸出t行,每行對應乙個詢問的...
NKOJ 3861 子矩陣(矩陣dp 單調佇列)
問題描述 小 a 有乙個 n m 的矩陣,矩陣中 1 n m 這 n m 個整數均出現過一次。現在小 a 在這個矩陣內選擇乙個子矩陣,其權值等於這個子矩陣中的所有數的最 小值。小 a 想知道,如果他選擇的子矩陣的權值為 i 1 i n m 那麼他選擇 的子矩陣可能有多少種?小 a 希望知道所有可能的...
NKOJ 1533 玩具(三分 貪心 單調佇列)
問題描述 bessie的生日快到了,她希望用d 1 d 100,000 70 的測試資料都滿足1 d 500 天來慶祝.奶牛們的注意力不會太集中,因此bessie想通過提供玩具的方式來使它們高興.她已經計算出了第i天需要的玩具數t i 1 t i 50 bessie的幼兒園提供了許多服務給它們的奶牛...