瓜分5000元獎金 Wannafly挑戰賽13

2022-02-27 12:38:00 字數 4505 閱讀 5804

zzy的小號

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

學家zzy根據字型的特點,建立了一系列小號...  i_love_chtholly!

又到了打wannafly的時候,許許多多的大佬準備註冊小號開始虐場,zzy也不例外,他發現他的電腦的字型有乙個特點!某些不同的字元所顯示的是一樣的!

滿足以下四種情況之一,所顯示的字元是一樣的

1、兩個字元互為英文本母的大小寫

2、大寫的'i'和小寫的'l'

3、大寫的'o'和數字'0'

4、基於前三種情況,三個字元a,b,c,如果a和b顯示相同,b和c顯示相同,那麼a和c顯示也是相同的

珂學家zzy想知道,對於乙個他看起來相同的暱稱,有多少個看起來一樣的暱稱

兩個字串看起來一樣當且僅當長度一樣且每個對應的位置的字元看起來一樣

乙個字串,只包含大小寫字母和數字
共一行乙個整數,表示看起來一樣的暱稱數,由於這個數比較大,所以只要求輸出模1e9 + 7意義下的解
示例1

abcdl

64

第乙個位置、第二個位置、第三個位置、第四個人位置都只有兩種顯示相同的字元

第五個位置有四種顯示相同的字元

字串長度1<=|s|<=1e5
第三條規則看了一年,列舉了一年,就是特殊字元支援來回轉換,那就乘*2,*3,*4的差別

#includeusing

namespace

std;

const

int md=1e9+7

;int

main()

jxc軍訓

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

在文某路學車中學高一新生軍訓中,jxc正站在太陽下站著軍姿,對於這樣的酷熱的陽光,jxc 表示非常不爽。

jxc將天空看做乙個n*n的矩陣,此時天上有m朵雲,這些雲會隨機分布在m個不同的位置,同時太陽會隨機出現在乙個位置,jxc想知道他被太陽曬到的概率是多少,由於他仍在站軍姿,所以這個有趣的問題就交給了你。考慮到精度問題,jxc只需要知道這個概率在對998244353取模意義下的值。

tips:乙個分數p/q在模意義下的值即p*q-1在模意義下的值,xp-1

1 (mod p)

輸入只有一行,包含兩個整數n、m。n和m的意義見題面.
第一行包含乙個整數ans,為答案
示例1

2 2

499122177

1 <= n, m <= 2000,m <=n^2
幾何概型,答案就是(n*n-m)/(n*n),直接逆元

#includeusing

namespace

std;

typedef

long

long

ll;const ll md=998244353ll;

intinv(ll x)

intmain()

zzf的好矩陣

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

乙個8 * 8的棋盤,第乙個格仔放1個麥穗,第二個格仔放2個麥穗,第三個格仔放4個麥穗……那麼最後,共要放幾個麥穗呢?

zzf表示這個問題實在太簡單,於是重新規定了遊戲的規則。

初始的棋盤為空,棋盤大小為p*p,然後他要對棋盤進行若干次操作,可以被選擇的操作如下:

1、選擇一行,每個格仔再放乙個麥穗

2、選擇一列,每個格仔再放乙個麥穗

進行若干次操作後,如果得到的棋盤滿足如下性質

1、每個格仔都有至少乙個麥穗

2、每個格仔最多只能有p*p個麥穗

3、任意兩個格仔的麥穗數不同

如果滿足以上三條,那麼稱這個棋盤是乙個好棋盤,若只是構造乙個好棋盤那就太沒意思了,zzf想知道他能得到多少個不同的好矩陣

定義不同的矩陣即只要存在乙個位置不同即是不同的

答案對998244353取模

第一行讀入乙個數p,表示這個棋盤的大小
輸出一行包括乙個數,表示好棋盤的個數
示例1

2

8

樣例解釋 :

1 23 4

3 41 2

1 32 4

2 41 3

2 14 3

4 32 1

3 14 2

4 23 1

2 <= p <= 1e6, 保證p是質數
其實要填的東西是一定的啊,每個矩陣要加的次數是(1+n*n)*n/2假設橫行值大於豎行,你會發現其實只有一種填法的,而且每個數都不同,就是他的全排列,行列不同就是兩倍

感謝biu哥的真情繪圖

#includeusing

namespace

std;

typedef

long

long

ll;const ll md=998244353ll;

intmain()

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

第一行包括兩個數t,n,表示有n個蛋糕,最小的蛋糕的質量與最大的蛋糕的質量的比值不小於t

接下來n行,每行乙個數wi,表示n個蛋糕的質量

輸出包括一行,為最小切割的刀數

資料保證切割次數不超過500

示例1

0.99 3

2000 3000 4000

6

0.5 < t < 1

1 <= n <= 1000

1 <= wi <= 1000000

暴力切的刀數,但是要處理精度問題的,不然就t了

#includeusing

namespace

std;

int w[1005],a[1005

];double eps=1e-10

;int

main()

if(fabs(tmp/(a[j]+1)-maxx)

maxxb=max(maxxb,tmp/(a[j]+1

)); minn=min(minn,tmp/(a[j]+1

));

}if(minn/maxxb-t>=0

)

else

}cout

return0;

}

vvq 與線段

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

vvq 最近迷上了線段這種東西

現在他手上有 n 條線段,他希望在其中找到兩條有公共點的線段,使得他們的異或值最大。 定義線段的異或值為它們並的長度減他們交的長度

第一行包括乙個正整數 n,表示 vvq 擁有的線段條數。

接下來 n 行每行包括兩個正整數 l,r,表示 vvq 擁有的線段的 左右端點。

一行乙個整數,表示能得到的最大異或值
示例1

3 

10 100

1 50

50 100

99

選擇第二條和第三條,99-0=99

1<=n<=200000,1<=l<=r<=1e8
可以作為線段樹模板,用線段樹用更新的,甚至堆可以過

#includeusing

namespace

std;

const

int n=2e5+10

;struct

t} p[n];

bool

cmp(t a,t b)

intmain()

cout

;

return0;

}

你月入多少等於北京5000元?

來自 撒哈拉浪子的blog 一直在尋找乙個可以作為參照的城市,來衡量一下乙個人的月薪能夠在所在城市形成的生活標準!最後還是決定拿北京作為參照城市!如,拿乙個在北京月薪為5000.00元 稅後 人民幣的人,可以達到的生活水平作為參照點,那麼達到同等的生活水平在其他城市需要多少的月薪來維持呢,下面一一指...

價值5000元的web報表分享

與乙個朋友聊天,發現他最近做了乙個很棒的報表,用他的話來講,起碼值5000rmb,我拿來與大家分享下,共同進步。用朋友a的話,就是他最近接到公司財務部長大人的需求,需要通過採購和研發部門的降本計畫,統計出各部門的降本資訊,然後如果讓財務部的小妹手工統計的話,那簡直是太困難了,如是求助it人員用報表軟...

你憑什麼要拿5000元月薪?

你憑什麼要拿5000元月薪?在深圳辦事處做主任的時候,老闆交代要我招乙個研究生,條件是要懂技術的,溝通能力強的,最好能夠勝任出差兼當業務員的。老闆的算盤我很清楚,想找個全能型的,至於說待遇,老闆說由我看著做決定。我以為這個任務很容易完成,招人嘛,還不簡單,現在什麼工種的農民工都缺,就是不缺研究生,特...