牛客網NOIP賽前集訓營-提高組(第四場) C滅蟲
題面 考慮DP 先把所有點離散化,設vi為離散化後第i大的點的位置.按p排序,設fi,j表示當前DP到第i個點,最右端覆蓋到j的最大區間總長度 考慮第i個區間往左和往右兩種轉移: 往左: 從大到小列舉k,假設k+1到i−1的點全部往右噴,ma表示k+1到i的點的r的最大值,l,p,r分別為當前點往左噴覆蓋區間的左端點,噴灑點,向右噴灑的右端點,那麼 fi,ma=max(fk,l+v[ma]−v[l]) 往右: fi,j=max(fi−1,l+v[j]−v[l]) Code
相關推薦
【題解】[牛客網NOIP賽前集訓營-提高組(第四場)]C.滅蟲 線性DP+堆優化
題目連結 #include<cstdio> #include<algorithm> #include<queue> using namespace std; const int N=3e3+10; struct node{ int
牛客網NOIP賽前集訓營-提高組(第四場) C滅蟲
題面 考慮DP 先把所有點離散化,設viv_ivi為離散化後第iii大的點的位置.按ppp排序,設fi,jf_{i,j}fi,j表示當前DP到第iii個點,最右端覆蓋到jjj的最大區間總長度 考慮第
牛客網NOIP賽前集訓營-提高組(第七場)C 洞穴
洞穴 思路: 矩陣乘法 由於只需要知道(a[i][j]) ^ l 的 第a行第b個元素 所以我們每次在做矩陣乘法時只需要算第a行就可以了 還要像矩陣快速冪一樣預處理出(a[i][j]) ^ (1<<d) 程式碼: #pragma GCC optimize(2) #
【比賽報告】2018.10.30牛客網線上賽[ 牛客網NOIP賽前集訓營-提高組(第四場)] NOIP練習賽卷二十七
題目連結 A.動態點分治 模擬 題目連結 #include<cstdio> typedef long long ll; int t,find; ll l,r,k,x; int main() { //freopen("in.txt","r",stdin
【題解】[牛客網NOIP賽前集訓營-提高組(第四場)]B.區間 亂搞
題目連結 #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int MAXN=1e7+10; ll a[MAXN]; int
【題解】[牛客網NOIP賽前集訓營-提高組(第四場)]A.動態點分治 模擬
題目連結 #include<cstdio> typedef long long ll; int t,find; ll l,r,k,x; int main() { //freopen("in.txt","r",stdin); scanf("%d",&a
【題解】[牛客網NOIP賽前集訓營-提高組(第三場)]C.急開鎖 博弈論+打表
題目連結 #include<cstdio> typedef long long ll; int t,k,l,r; ll len,f[4000010]; int main() { //freopen("in.txt","r",stdin); scanf("
【題解】[牛客網NOIP賽前集訓營-提高組(第五場)]C.串串 組合數
題目連結 #include<cstdio> const int N=4e3+10,mod=1e9+7; int a,b,c,d,fac[N],inv[N],ans; int C(int n,int m) { if(n<0||m<0)return
牛客網NOIP賽前集訓營-提高組(第四場)
A 動態點分治 題意 輸出所有[l,r][l,r][l,r]範圍內能表示為k的若干次的數。 (注意0^0=1) 題解 暴力做…k為2,r為2^63次時最多乘63次所以時間可行。 emmm我特判掉了k
牛客網 NOIP賽前集訓營-普及組(第四場)C--部分和 (高維字首和)
傳送門 解題思路 高維字首和模板題。首先,求字首和有兩種方式,比如說對於求二維字首和來說。 第一種 : for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) sum[i][j]=sum[i-1][j]+sum[i][j-1]-s
牛客網NOIP賽前集訓營-提高組(第三場)A 管道維修
con www acm 邊界 清理 假設 noi 障礙 超過 https://www.nowcoder.com/acm/contest/174/A 這個的話 一個位置被清理的時間就是它到空白格子/邊界的最短路對吧qww然後求期望的話假設它在第i步被清理掉的
Nowcoder牛客網NOIP賽前集訓營-提高組(第六場)
fir rst 人的 每次 最小 mes sig typename class A 拓撲排序+倍增哈希 或者 拓撲排序對於每個點計一個rank,每個點優先選取rank靠前的最小邊權點 每次依然按照rank排序更新rank #include<bits/stdc++.h&
【題解】[牛客網NOIP賽前集訓營-提高組(第五場)]A.同餘方程 位運算
#include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const ll mod=998244353; ll m,l1,l2,r1,r2; ll
【比賽報告】2018.10.30牛客網線上賽[牛客網NOIP賽前集訓營-提高組(第三場)] NOIP練習賽卷二十六
題目連結 A.管道維修 數學期望 題目連結 #include<cstdio> #include<algorithm> #include<cmath> using namespace std; typedef long long
【題解】[牛客網NOIP賽前集訓營-提高組(第三場)]B.公平競賽 bfs
題目連結 #include<cstdio> #include<cstring> #include<queue> #include<algorithm> using namespace std; inline int rea
【題解】[牛客網NOIP賽前集訓營-提高組(第三場)]A.管道維修 數學期望
題目連結 #include<cstdio> #include<algorithm> #include<cmath> using namespace std; typedef long long ll; #define re regist
【題解】[牛客網NOIP賽前集訓營-提高組(第五場)]B.旅遊 最小生成樹
題目連結 #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int N=5e5+10,mod=998244353; inlin
【題解】[牛客網NOIP賽前集訓營-提高組(第六場)]B.選擇題 期望DP
#include<cstdio> #include<algorithm> using namespace std; const int N=2e3+10; const int mod=998244353; int n,p[N][4],
【題解】[牛客網NOIP賽前集訓營-提高組(第六場)]A.最長路 拓撲排序
題目連結 #include<cstdio> #include<queue> #include<cstring> using namespace std; const int N=1e6+10,mod=998244353; st
牛客網NOIP賽前集訓營-提高組(第七場) 小結
終於 牛客的NOIP賽前集訓營有我會做的題目啦! 之前考的變態題天天爆零…… 真的不是省選集訓營??? A 中國式家長2 真·純模擬,毫無坑點(以至於我一開始以為題目看錯了,,看了好幾遍……) #include<bits/stdc++.h> using namespa