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

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

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

      [CF1965F] conference

      題意:有 \(n\) 個講師,對于講師 \(i\),他可以在 \([l_i,r_i]\) 中選一天講課,問對于 \(x \in [1,n]\),有多少連續的 \(x\) 天可以做到都有講師講課。

      先考慮區間的 \(l\) 互不相同時如何解決。

      對于已知的 \([l,r]\) 是否存在完美匹配,判斷是簡單的,我們貪心地按天數從左往右依次解決,每次填覆蓋當前天的 \(r\) 最小的講師即可。

      根據 hall 定理,我們發現若 \([l,r]\) 不滿足條件,那么 \([l+1,r]\)\([l,r-1]\) 必然也不滿足條件。所以對于從第 \(i\) 天開始,符合條件的右端點 \(R_i\) 是單調不降的。

      所以我們從后往前掃求對于第 \(i\) 天,符合條件的最大的 \(R_i\) 在哪里就行了,這個根據上面的貪心處理即可。

      那么對于區間 \(l\) 有相同的其實差不多,若區間 \([l,r]\) 被分配給了第 \(d\) 天,那這個區間可以被寫成 \([d,r]\),然后就和區間的 \(l\) 互不相同的時候一樣了。

      點擊查看代碼
      #include<bits/stdc++.h>
      #define fir first
      #define sec second
      #define int long long
      #define lowbit(x) x&(-x)
      #define mkp(a,b) make_pair(a,b)
      using namespace std;
      typedef pair<int,int> pir;
      inline int read(){
      	int x=0,f=1; char c=getchar();
      	while(!isdigit(c)){if(c=='-') f=-1; c=getchar();}
      	while(isdigit(c)){x=x*10+(c^48); c=getchar();}
      	return x*f;
      }
      const int inf=1e9,N=2e5+5;
      int n,m;
      vector<int> ed[N];
      multiset<int> s;
      int c[N],nc[N],op[N],pos[N],res[N];
      signed main(){
          n=read();
          for(int i=1;i<=n;i++){
              int l=read(),r=read();
              ed[l].push_back(r);
              m=max(m,r);
          }
          for(int i=1;i<=m;i++){
              for(auto r:ed[i]) s.insert(r);
              while(s.size()&&*s.begin()<i) s.erase(s.begin());
              if(s.size()){
                  int r=*s.begin();
                  s.erase(s.begin());
                  c[i]++,c[r+1]--;
                  op[i]=1;
              }
              else nc[i]++;
          }
          for(int i=1;i<=m;i++) nc[i]+=nc[i-1],c[i]+=c[i-1];
          int r=m+1;
          for(int i=m;i>=1;i--){
              int num=c[i]-op[i]+1+nc[i-1];
              pos[nc[i]]=i;
              if(num<=m&&pos[num]) r=min(r,pos[num]);
              res[r-i]++;
          }
          for(int i=n;i;i--) res[i]+=res[i+1];
          for(int i=1;i<=n;i++) cout<<res[i]<<'\n';
      }
      
      posted @ 2024-12-22 21:05  ~Cyan~  閱讀(7)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 界首市| 最近2019中文字幕大全第二页 | 无码国内精品人妻少妇| 亚洲熟妇自偷自拍另欧美| 九九热精品免费视频| 久久精品国产久精国产| 国产不卡一区二区在线视频| 久久精品国产亚洲av天海翼 | 亚洲av永久无码精品水牛影视| 精品人妻大屁股白浆无码| 亚洲成av人片天堂网无码| 99RE8这里有精品热视频| 日本熟妇乱一区二区三区| 久久久亚洲欧洲日产国码αv | 久久久久久曰本av免费免费| 开心五月深深爱天天天操| 偷柏自拍亚洲综合在线| 久久久久中文伊人久久久| 国产亚洲av手机在线观看 | 亚洲 欧美 综合 在线 精品| 夜夜嗨久久人成在日日夜夜| 99久久婷婷国产综合精品青草漫画| 一区二区不卡国产精品| 熟女精品视频一区二区三区| 一级片免费网站| 男女啪啪网站| 亚洲国产精品无码久久久| 少妇激情av一区二区三区| 亚洲av成人在线一区| 秋霞鲁丝片成人无码| 亚洲欧洲久久激情久av| 国产成人av免费观看| 你懂的一区二区福利视频| 绥宁县| 亚洲熟妇色xxxxx欧美老妇| 亚洲影院丰满少妇中文字幕无码| 国产一区二区日韩在线| 国内自拍第一区二区三区| 久久香蕉国产线熟妇人妻| 欧美丰满熟妇vaideos| 国产激情电影综合在线看|