日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[SDOI2019] 热闹的聚会与尴尬的聚会

發布時間:2023/12/3 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [SDOI2019] 热闹的聚会与尴尬的聚会 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

problem

luogu-P5361

他的聯系薄上有 nnn 位好友,他們兩兩之間或者互相認識,或者互相不認識。

小 Q 希望在周六辦一個熱鬧的聚會,再在周日辦一個尷尬的聚會。

  • 一場熱鬧度為 ppp 的聚會請來了任意多位好友,對于每一位到場的好友來說都有至少 ppp 位他認識的好友也參加了聚會,且至少對于一位到場的好友來說現場恰好有 ppp 位他認識的好友;
  • 一場尷尬度為 qqq 的聚會請來了恰好 qqq 位好友,且他們兩兩互不認識。

兩場聚會可能有重復的參與者,聯系薄上也有可能有某些好友同時缺席了兩場聚會。

小 Q 喜歡周六聚會的熱鬧度 ppp 與周日聚會的尷尬度 qqq 之間滿足:?np+1?≤q\left\lfloor \frac{n}{p+1} \right\rfloor\le q?p+1n??q?nq+1?≤p\left\lfloor \frac{n}{q+1} \right\rfloor \le p?q+1n??p。

請幫助小 Q 找出一個可行的邀請方案。

solution

observation1:\text{observation1}:observation1: ?np+1?≤q∧?nq+1?≤p?(p+1)(q+1)≥n+1\lfloor\frac{n}{p+1}\rfloor\le q\wedge \lfloor\frac{n}{q+1}\rfloor\le p\Leftrightarrow (p+1)(q+1)\ge n+1?p+1n??q?q+1n??p?(p+1)(q+1)n+1。

我們只需要分別最大化 p,qp,qp,q 即可。

看似是兩個獨立的部分,實際上他們各自的構造方式是一樣的原理。

  • 熱鬧的聚會。即度數限制的圖。

每次找出當前圖中度數最小的點,更新 ppp 的最大值。

并刪掉這個點,動態地改變與之相連的其余點的度數。

將彈出的編號桉順序記錄下來,并記下最大值的位置。

位置以前的點則是不被選的。

  • 尷尬的聚會。即獨立集。

    每次找出當前圖中度數最小的且未被標記的點,加入尷尬的聚會。

    然后標記與之直接相連的所有點都不能參加聚會。

下面給出該構造的正確性證明:

將每個點加入尷尬的聚會,除去這個點本身,最多會從圖中刪掉 ppp 個點。顯然 q≥?np+1?q\ge \lceil\frac{n}{p+1}\rceilq?p+1n??

如果獨立集的選點運行了 qqq 次,第 iii 次刪掉的點度數為 did_idi?。

則有 ∑i=1q(di+1)≥n\sum_{i=1}^q(d_i+1)\ge ni=1q?(di?+1)n。而 (q+1)?max?(di+1)≥n(q+1)·\max(d_i+1)\ge n(q+1)?max(di?+1)n 顯然。

code

#include <bits/stdc++.h> using namespace std; #define maxn 10005 #define Pair pair < int, int > int T, n, m; int p[maxn], q[maxn], vis[maxn], deg[maxn], d[maxn]; vector < int > G[maxn]; priority_queue < Pair, vector < Pair >, greater < Pair > > Q;int main() {scanf( "%d", &T );while( T -- ) {scanf( "%d %d", &n, &m );for( int i = 1;i <= n;i ++ ) deg[i] = 0;for( int i = 1;i <= n;i ++ ) G[i].clear();for( int i = 1, u, v;i <= m;i ++ ) {scanf( "%d %d", &u, &v );G[u].push_back( v );G[v].push_back( u );deg[u] ++, deg[v] ++;}int ans1 = 0, cnt1 = 0, pos;for( int i = 1;i <= n;i ++ ) vis[i] = 0;for( int i = 1;i <= n;i ++ ) d[i] = deg[i];for( int i = 1;i <= n;i ++ ) Q.push( make_pair( d[i], i ) );while( ! Q.empty() ) {int u = Q.top().second, w = Q.top().first; Q.pop();if( vis[u] ) continue; vis[u] = 1;p[++ cnt1] = u;if( w > ans1 ) ans1 = w, pos = cnt1;for( int v : G[u] ) if( ! vis[v] ) Q.push( make_pair( --d[v], v ) );}int ans2 = 0, cnt2 = 0;for( int i = 1;i <= n;i ++ ) vis[i] = 0;for( int i = 1;i <= n;i ++ ) d[i] = deg[i];for( int i = 1;i <= n;i ++ ) Q.push( make_pair( d[i], i ) );while( ! Q.empty() ) {int u = Q.top().second, w = Q.top().first; Q.pop();if( vis[u] ) continue;vis[u] = 1;q[++ cnt2] = u;for( int v : G[u] ) vis[v] = 1;}for( int i = 1;i <= n;i ++ ) vis[i] = 0;for( int i = 1;i <= pos;i ++ ) vis[p[i]] = 1;printf( "%d ", n - pos );for( int i = 1;i <= n;i ++ ) if( ! vis[i] ) printf( "%d ", i );puts("");printf( "%d ", cnt2 );for( int i = 1;i <= cnt2;i ++ ) printf( "%d ", q[i] );puts("");}return 0; }

總結

以上是生活随笔為你收集整理的[SDOI2019] 热闹的聚会与尴尬的聚会的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产伦理一区二区三区 | 三级欧美韩日大片在线看 | 国产专区精品 | 亚洲精品福利在线 | 国产成人精品无码免费看在线 | 先锋影音一区二区 | 麻豆tv在线观看 | 久热中文字幕 | 精品不卡一区二区三区 | 亚洲图片一区 | 免费网站在线观看人数在哪动漫 | 精品无码在线观看 | 国产精品久久久久影院老司 | 男人的天堂在线 | 久久婷婷国产麻豆91 | 国产成人无码a区在线观看视频 | 狠狠撸视频| 日韩少妇中文字幕 | 久久高清免费视频 | 91av视频在线播放 | 亚洲国产成人综合 | 葵司有码中文字幕二三区 | 国产视频123| 伊人伊人 | 99综合视频 | 狠狠做深爱婷婷久久综合一区 | 亚洲精品人人 | 女同性做爰全过程 | 成人在线免费观看视频 | 香蕉视频官网在线观看 | 精品久久网站 | 欧美日批 | 6080成人| 一区二区三区在线免费视频 | 日韩中文字幕有码 | 丰满人妻一区二区三区性色 | av电影一区二区三区 | 欧美三级在线观看视频 | 麻豆精品国产传媒mv男同 | 欧美一级爱爱 | 色爱AV综合网国产精品 | 一级片自拍 | 久久精品国产欧美亚洲人人爽 | 成人免费视频一区 | 欧美一级片在线观看 | av午夜精品| 国产色婷婷一区二区 | 国产精品久久久久不卡 | 国产欧美在线一区 | 男女爽爽爽 | 午夜精品福利一区二区蜜股av | 无码精品人妻一区二区 | 日韩经典三级 | 成人激情av | 蜜臂av | av激情网站| 亚洲第一成人av | 国产精品久久久精品 | 中文字幕成人一区 | 波多野结衣一区 | 日韩黄视频 | 天天看天天摸天天操 | 精品香蕉一区二区三区 | 涩色视频 | 日日夜夜撸撸 | 制服丝袜一区在线 | 国产偷人爽久久久久久老妇app | 欧美14sex性hd摘花 | a级在线观看视频 | 香港黄色网 | 日韩高清一级 | 波多野结衣视频播放 | 久久久国产精品 | 看个毛片| 亚洲中文一区二区 | 日韩久久免费视频 | 国内精品久久久久久久影视简单 | 色多多视频在线观看 | 欧美疯狂做受 | 国产欧美一区二区三区白浆喷水 | 美女被艹视频网站 | 久色伊人| 国产又粗又长 | 久久精品国产亚洲av麻豆 | 玖玖五月 | 欧美重口另类 | 一级视频免费观看 | 成人自拍视频网 | 国外av网站 | 亚洲xxx视频 | 精品人妻午夜一区二区三区四区 | 欧美日韩精品久久久 | 9191av| 国产精品欧美久久久久久 | 男人操女人网站 | 爱操av| 成人免费视频免费观看 | 亚洲性一区 | 日韩一区二区三区视频在线观看 |