0712CF解題報告

2021-06-17 16:35:33 字數 1922 閱讀 4371

a. free cash

題目大意,輸入第一行輸入n,然後輸入n行,每行輸入兩個數h 和 m ,要求把出現次數最多的h和m的次數輸出。思路:此題運用雜湊法,先令乙個數tmp = h * 100 + m ,然後建立乙個陣列vis[2505],因為h <= 24 , m <= 60 ,所以tmp < 2505 ,最後用vis[tmp] ++ 來統計次數,找出vis陣列中的最大值即可。

以下是**:

#include#include#include#include#include#include#include#include#includeusing namespace std ;

const int maxn = 2505 ;

int vis[maxn] ;

int main()

}printf("%d\n", max) ;

}return 0 ;

}

b.young table

仔細讀這道題才發現,原來題目中沒有要求使操作的次數最少,只要完成就可以。此題麻煩了一些,請看**:

#include#include#include#include#include#include#include#include#includeusing namespace std ;

const int maxn = 55 ;

int s[maxn][maxn] ;

int t[maxn * maxn] ;

int t2[maxn * maxn] ;

int x1[maxn * maxn] ;

int y1[maxn * maxn] ;

int x2[maxn * maxn] ;

int y2[maxn * maxn] ;

struct node

vert[maxn * maxn] ;

int vis[maxn * maxn] ;

bool cmp(int a , int b)

int main()

int j ;

int cnt = 0 ;

for(i = 0 ; i < n ; i ++)

}sort(t2 , t2 + cnt , cmp) ;

int sum = 0 ;

int cnt2 = 0 ;

for(i = 0 ; i < n ; i ++)

cnt2 ++ ;}}

printf("%d\n" , sum) ;

for(i = 0 ; i < sum ; i ++)

return 0 ;

}

c.primes on interval

這道題一般的做法會超時,想了一會,有所改進,運用離線演算法統計素數個數,結果還是超時,最後終於想到了二分,呵呵。請看**:

#include
#include#include#include#include#include#include#include#includeusing namespace std ;

const int maxn = 1000006 ;

int sushu[maxn] ;

int sm[maxn] ;

void prim() // 素數表

}}void tong()

sm[i] = sumt ;

}}int main()

}if(pan == 0)

else

}if(pan2 == 0 )

printf("-1\n") ;

else

printf("%d\n" , right) ;

}return 0 ;

}

題目d很認真的讀,就是讀不懂,題目e暫時不會。

CF328解題報告

a題 iq test 很水的題,就是給出數列的前四項,判斷出是等比還是等差。求下一項。code include using namespace std int main else cout 42 endl return 0 b題 sheldon and ice pieces 題意 有一排卡片,每張卡...

cf1199解題報告

目錄發一波水題。模擬 include define ll long long using namespace std const int 1e6 7 int n,x,y,a int main return 0 小學幾何題。輸出lf格式不對錯了幾發 include define ll long lon...

CF 1087解題報告

做出 t1 rating 97 想起幾個月前做不出t1還是有點小搞笑呀2333 雙指標 特判 發現k特別小,列舉剩餘系 還要判斷是否是能被n整除 移項發現可以算出整除是多少 然後 整除 k 剩餘數 n 算出答案,複雜度 o k 大力貪心 先算出a b之間的路徑,由於路徑不唯一 每次抉擇最多有兩種,變...