「玲瓏杯」ACM比賽 Round 23

2022-02-27 13:42:46 字數 3867 閱讀 6023

a -- 生是脂肪的人

time limit:2s memory limit:128mbyte

submissions:263solved:97

description

給定乙個整數n,輸出[(10^n)/7]的個位數。

其中 abs(n) ≤ 1e18

input

第一行是乙個正整數t (1 ≤ t ≤ 100),表示資料組數。

接下來每一行乙個整數n。

output

t行,每行乙個整數。

sample input31

23sample output14

2a和/7的小數一樣啊,也是142857迴圈的,直接做,但是本來說是正數,然後有負數很不厚道啊,資料範圍鍋了一次

#includeusing

namespace

std;

string s="

142857";

intmain()

b -- 死是脂肪的鬼

time limit:2s memory limit:128mbyte

submissions:127solved:86

description

給定乙個99的數獨,判斷該數獨是否合法。

如果合法輸出yes,否則輸出no。

數獨當且僅當每行每列以及9個33的小方格都是1〜9的9個數才合法。

input

第一行是乙個正整數t (1 ≤ t ≤ 100)表示資料組數,每組資料中:一共9行,每行9個正整數。

兩組資料之間沒有空行。

保證輸入的數獨中的數都在1~9中。

output

一共t行,每行yes或者no。

sample input

14 8 3 9 2 1 6 5 7

9 6 7 3 4 5 8 2 1

2 5 1 8 7 6 4 9 3

5 4 8 1 3 2 9 7 6

7 2 9 5 6 4 1 3 8

1 3 6 7 9 8 2 4 5

3 7 2 6 8 9 5 1 4

8 1 4 2 5 3 7 6 9

6 9 5 4 1 7 3 8 2

sample output

yesb直接暴力判斷

#includeusing

namespace

std;

int a[10][10

];int

main()

;

for(int k=i-2; k<=i; k++)

for(int l=j-2; l<=j; l++)

if(a[k][l]>0&&a[k][l]<10)b[a[k][l]]++;

for(int i=1; i<10; i++)

if(!b[i])f=0

; }

printf(

"%s\n

",f?"

yes":"no"

); }

}

c -- 你居然不吃巧克力

time limit:2s memory limit:128mbyte

submissions:131solved:66

description

給定乙個正整數n,現在有n個石頭,每個單獨成一堆。

現在可以每次合併兩堆石頭,產生的能量為兩堆石頭個數的min。

你現在要將所有的石頭合併成一堆,並且獲得的能量最大。

輸出這個最大值。

1 ≤ n ≤ 1e7。

input

第一行是乙個正整數t (1 ≤ t ≤ 10)表示資料組數,接下來t行每行乙個正整數。

資料滿足乙個測試點中,最多只有1個n超過1e6。

output

t行,每行乙個正整數。

sample input31

35sample output02

5c太暴力了我,用的是合併

#includeusing

namespace

std;

intmain()

else

if(b==1

)

}else

m.erase(m.begin());

if(!m.size())break

; }

printf(

"%lld\n

",ans);}}

藍金爺的直接分堆

#includeusing

namespace

std;

long

long

ans;

void dfs(int

x)int

main()

}

tle的直接優先佇列(1e7我電腦要2s,優化下可以1s跑完,但是oj沒那麼快啊

#includeusing

namespace

std;

priority_queue

, greater >q;

intmain()

printf(

"%lld\n

",ans);}}

d -- 別不好意思,都是脂肪的人

time limit:2s memory limit:128mbyte

submissions:25solved:20

description

給定兩個正整數 n

'>nn 和 k

'>kk, 請求出

(如果公式看不懂,請看圖)

資料保證答案是乙個有理數,我們假設它為 p

q'>pqpq , 你只需輸出它對 1e9

+7'>1e9+71e9+7 的模即可。(即 p∗q

−1'>p∗q−1p∗q−1 對 1e9

+7'>1e9+71e9+7 的模數)。

input

第一行乙個正整數 t

'>tt 表示資料組數。

對於每組資料:

一行兩個正整數,表示 n

'>nn 和 k

'>kk 。

output

一共 t

'>tt 行,每行乙個正整數,表示答案。

sample input17

3sample output

457031313

hint

資料範圍:

資料滿足 1

<=

t<=

1000,1

<=

n<=1e

9,2<=

k<=1e

9'>1<=t<=1000,1<=n<=1e9,2<=k<=1e91<=t<=1000,1<=n<=1e9,2<=k<=1e9 。

媽耶,看看他們的結論還差點啊

n=1的時候

k=1 

k=2 2

k=3 3/4

k=4 4/9

k=5 5/16

k=6 6/25

k=7 7/36

這個我是直接用資料暴力的啊,很明顯的,拿高數硬算也是可以的

規律很明顯 k / (k-1)^2

最後是ans=n*k^n/(k-1)^(n+1),這個我沒有搞出來

#includeusing

namespace

std;

typedef

long

long

ll;const

int md=1e9+7

;ll po(ll a, ll n)

return(ans+md)%md;

}int

main()

return0;

}

玲瓏杯」ACM比賽 Round 11 待補

題目 官方題解 直接貼上了,沒過的題以後再補 儘管不太可能qaq 第一題 直接列舉所有可能的x並且計算答案,得出最優解 水題,忽略 第二題 可以連線的兩個工廠相當於可以匹配的兩個點,那麼問題轉化為求兩個串的最長公共子串行,但o n 2 的複雜度會超時,由於第二個串每個點最多只有6個點與之匹配,所以可...

暑期十測 round2

vo lume 2 da y11 度熊的全1串 斐波那契數 高精度。區間交 離線排序 線段樹 尺取。拍照 運動學 字首和 線掃。da y12沙漠喝水 癟三題。區間的價值 預處理區間最小最大的在 用快排的方式分割區間,暴力更新答案。l國貨物運輸 二分判定,對不等式進行分析。da y13車站檢票 癟三二...

ZR國慶Round2解題報告

預計得分 100 10 20 10 120 實際得分 100 0 10 110 感覺這場打的挺穩的。開場秒掉a題,寫 調差不多1h 然後剛t3暴力,剛完還有2h左右。然後,這時候我zz的選擇去打t2的暴力,然而t2暴力真的不是一般的難寫。終於又花了1h打完t2暴力,又打了打 n 10 的表,感覺穩的...