CF 1169B Pairs(思維 分類)

2021-10-22 10:34:57 字數 942 閱讀 3968

題意:

給你m個點對,然後問你能不能找到兩個不同的值,使得每個每個點對在都至少含有這兩個點對中的乙個

思路:

列舉第乙個點對中的兩個值,判斷剩餘的點對中不包含這個第乙個點對的兩個值的有多少個,如果有0個的話,就說明這些點對至少有乙個相等了,所以就肯定輸出yes.如果不是的話,我們就判斷剩餘的點對**現次數最多的為多少次,如果數總的對數中不包含x的第乙個值的個數,那麼也是yes。對於第乙個點對的第二個用同樣的方法處理

#include

using

namespace std;

typedef

long

long ll;

const

int maxn=

5e5+5;

int k,n,m,p[maxn]

,p2[maxn]

,f[maxn]

,f2[maxn]

,mx,mx2;

struct nodea[maxn]

;int

main()

int a1=a[1]

.x,he=0;

for(

int i=

2;i<=m;i++)if

(he==0)

for(

int i=

2;i<=m;i++)}

if(mx==he)

int a2=a[1]

.y,he2=0;

for(

int i=

2;i<=m;i++)if

(he2==0)

for(

int i=

2;i<=m;i++)}

if(mx2==he2)

printf

("no\n");

}

cf 551B 暴力列舉

交換a中字元的位置,求b,c字串在a中出現的最多次數 列舉b出現的次數,然後求出c在a中還可以出現的最大次數,求得最多的次數 關鍵在於如何計算b出現的次數 如下 for int i 0 i 26 i if s1 i sum min sum,ans i s1 i 知道了這個就不會超時了啦,我開始就沒想...

cf 1471 B 最大貢獻

t 組樣例 每組有長度為 n 的陣列 a 和 乙個數 x 下一行 輸入陣列 a 如果a i x 0 那麼就將 x個 a i x 放在陣列的末尾,然後繼續這樣的操作,直到a i x 0時停止 求陣列的和 1.昨天打的比賽,其實題目很簡單,考慮一下每個數的最大貢獻值,然後直接模擬就好,但是不是直接暴力模...

CF 453B狀態壓縮dp

題目鏈結 題意 給你n個數 1 n 100 每個數分別是ai 1 ai 30 問你求乙個數列bi,其中bi間的數兩兩的最大公約數為1 bi可能都是1 且使得 思路 既然bi可以全部取1,那麼每個bi的取值必定不超過30 1 30 59。由此可知我們只要知道60以內的所有數的素因子,並用數字標記的方式...