<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【題解】CF 939F Cutlet

      首先有一個 \(O(n^2)\) 的 DP:設(shè) \(f_{i,j}\) 表示前 \(i\) 分鐘,當(dāng)前朝上的面煎了 \(j\) 分鐘的最小翻面次數(shù)。于是有方程:

      \[f_{i,j}=\min(f_{i-1,j},f_{i-1,i-j}+1) \]

      其中第二種轉(zhuǎn)移是翻面的,即僅當(dāng) \(\exist k,i\in[l_k,r_k]\) 時可以轉(zhuǎn)移。

      那么如果 \(i\) 不在可以翻面的區(qū)間里,直接移過來就行了。于是只考慮可翻面的區(qū)間。設(shè) \(f_{i,j}\) 表示前 \(r_i\) 分鐘,朝上的面煎了 \(j\) 分鐘的最小翻面次數(shù)。

      考慮當(dāng)在同一區(qū)間內(nèi)如果翻面次數(shù) \(\ge 2\),那一不如只翻 \(1\) 次或 \(2\) 次。于是只需考慮這兩個轉(zhuǎn)移。

      • \(1\)

        枚舉當(dāng)前朝下的面在這個區(qū)間內(nèi)煎的時間 \(k\)。當(dāng)前朝下的面顯然總共煎了 \(r_i-j\) 分鐘,那么在這個區(qū)間開始前它就煎了 \(r_i-j-k\) 分鐘。而這個區(qū)間前這一面正好就是朝上的。于是 \(f_{i,j}=\min(f_{i-1,r_i-j-k})\)

      • \(2\)

        枚舉當(dāng)前朝上的面在這個區(qū)間內(nèi)煎的時間 \(k\)。在這個區(qū)間前這一面也是朝上的,煎了 \(j-k\) 分鐘。于是 \(f_{i,j}=min(f_{i-1,j-k})\)

      用單調(diào)隊列優(yōu)化這兩個轉(zhuǎn)移即可。時間復(fù)雜度 \(O(nk)\)

      #include<bits/stdc++.h>
      #define ll long long
      #define il inline
      
      using namespace std;
      namespace asbt{
      namespace cplx{bool begin;}
      const int maxn=2e5+5;
      const int inf=0x3f3f3f3f;
      int n,m,duil[maxn];
      int f[105][maxn];
      namespace cplx{
      	bool end;
      	il double usdmem(){return (&begin-&end)/1048576.0;}
      }
      int main(){
      //	cout<<cplx::usdmem();
      	ios::sync_with_stdio(0),cin.tie(0);
      	cin>>n>>m;
      	memset(f[0],0x3f,sizeof f[0]);
      	f[0][0]=0;
      	for(int i=1,l,r,hd,tl;i<=m;i++){
      		for(int j=0;j<=n;j++){
      			f[i][j]=f[i-1][j];
      		}
      		cin>>l>>r;
      		hd=1,tl=0;
      		for(int j=0;j<=min(r,n);j++){
      			while(hd<=tl&&f[i-1][duil[tl]]>f[i-1][j]){
      				tl--;
      			}
      			duil[++tl]=j;
      			while(hd<=tl&&duil[hd]<j-(r-l)){
      				hd++;
      			}
      			f[i][j]=min(f[i][j],f[i-1][duil[hd]]+2);
      		}
      		hd=1,tl=0;
      		for(int j=r;~j;j--){
      			while(hd<=tl&&f[i-1][duil[tl]]>f[i-1][r-j]){
      				tl--;
      			}
      			duil[++tl]=r-j;
      			while(hd<=tl&&duil[hd]<l-j){
      				hd++;
      			}
      			f[i][j]=min(f[i][j],f[i-1][duil[hd]]+1);
      		}
      	}
      //	for(int i=0;i<=m;i++){
      //		for(int j=0;j<=n;j++){
      //			cout<<f[i][j]<<" ";
      //		}
      //		puts("");
      //	}
      	printf(f[m][n]>=inf?"Hungry":"Full\n%d",f[m][n]);
      	return 0;
      }
      }
      int main(){return asbt::main();}
      /*
      10 1
      0 20
      */
      
      posted @ 2025-02-23 19:28  zhangxy__hp  閱讀(10)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 男女啪啪网站| 中文字幕人乱码中文| 日韩精品 中文字幕 视频在线| 91中文字幕一区在线| 国产天美传媒性色av高清| 日韩精品一区二区都可以| 芳草地社区在线视频| 国产麻豆精品一区二区三区v视界 久久99精品久久久久久 | 精品国产中文字幕在线| 亚洲国产欧美在线人成大黄瓜| 盐源县| 厨房与子乱在线观看| 欧美精品一区二区三区中文字幕 | 精品国产成人网站一区在线| 国产综合久久99久久| 国产极品尤物免费在线| 亚洲国产av无码精品无广告| 色综合热无码热国产| 亚洲色大成网站www永久男同| 国产一级av在线播放| 麻花传媒在线观看免费| 亚洲精品日韩精品久久| 这里只有精品免费视频 | 亚洲婷婷综合色高清在线| 亚洲免费成人av一区| 四虎国产成人永久精品免费| 国产精品一区二区久久岳| 国产一区国产二区在线视频| 中文字幕日韩有码av| 欧美性猛交xxxx免费看| 亚洲码欧洲码一二三四五| 国产精品久久久久久久网| 久久久精品2019中文字幕之3| 熟女系列丰满熟妇AV| 日本中文字幕不卡在线一区二区| 亚洲av免费成人在线| 毛片无码免费无码播放| 免费国产一级 片内射老| 熟女少妇精品一区二区| 免费无码又爽又刺激高潮虎虎视频| 伊人久久大香线蕉av五月天|