日常模擬賽

2022-02-27 10:48:11 字數 2762 閱讀 8114

none

100 + 100 + 10 = 210

不太會做...

好像....是個sb題....嗯.....div3t1難度

#include#include#define int long long 

#define gc getchar()

#define pc putchar

inline int read()

void print(int x)

if(x >= 10) print(x / 10);

pc(x % 10 + '0');

} main()

dp[i][2/3]表示以i為開始向後擴充套件兩位是否可行..那麼就是從dp[i + 2 / 3][2 / 3]轉移就好了

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

#define gc getchar()

#define pc putchar

inline int read()

#define ull unsigned long long

void print(int x)

if(x >= 10) print(x / 10);

pc(x % 10 + '0');

} const int maxn = 200007;

bool dp[maxn][5];

char s[maxn];

bool judge(int l,int r,int l1,int r1)

return false;

} struct node ans[maxn];

/*const int bas;

struct node

} char ts

ull hash(char s) */

std::string a[maxn],b[maxn];

int tot = 0;

bool judge2(int x,int y) else

return false;

} void solve()

a[0] = "*(&*(";

for(int i = 4;i <= n;++ i)

if(dp[i][3])

} std::sort(a + 1,a + tot + 1);

int ans = 0;

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

print(ans);

pc('\n');

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

pc('\n');

} }

void solve2()

a[0] = "*(&*(";

for(int i = 4;i <= n;++ i)

if(dp[i][3])

} std::sort(a + 1,a + tot + 1);

int ans = 0;

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

print(ans);

pc('\n');

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

pc('\n');

} }

int main()

return 0;

}

dp[i][j]表示以i為根的子樹中,樹高小於等於j的概率

轉移就是dp[i][j] *= 0.5 + 0.5 * (dp[i][j-1]) 首先是邊不連的概率,其次是<=dp[son][j -1]的

然後我zz了

對於新增乙個點,對於父親的深度影響只有該節點的深度+1,除掉舊的乘上新的就ok,我全更新了一遍...,寫出了奇怪的bug...

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

#define gc getchar()

#define pc putchar

inline int read()

void print(int x)

if(x >= 10) print(x / 10);

pc(x % 10 + '0');

} const int maxn = 100005;

const int h = 60;

double dp[maxn][70];

double pp[maxn][70];

int fa[maxn];

int siz[maxn];

int node = 0;

struct node edge[maxn << 1];

int num = 0,head[maxn];

inline void add_edge(int u,int v)

#define eps 1e-7

void update(int x)

x = fa[x];

} k = 60;

while(-- k && x)

x = fa[x];

} }

int main() else printf("%lf\n",ans);

} } return 0;

}

《省賽模擬賽補》

c題 比賽的時候已經想到了統計最底層的每個序列的出現次數,但是一開始想的是建圖之後dfs處理,但是發現很難處理出來。其實正確的思路是拓撲排序去處理次數。我們在最後建圖完成之後,倒著從n回去拓撲即可。但是這裡有個坑點,就是一開始統計入度可能是不正確的。例如 3 1 2 4 1 2 3是1,2的父節點,...

模擬賽記錄

模擬賽記錄 8.20 7 30 9 30 數學入門難度6道題 300分 8.21 7 40 9 50 圖論 普及 6道題 500分 8.22 學長模擬賽 7 40 10 00 提高 300 分 80 分 8.23 圖論 普及 提高 8 40 11 30 300分 180分 8.24 字串 入門難度 ...

排球模擬賽

from random import random defprintinfo 列印程式的功能資訊 print t t這個程式模擬2個隊伍a和b的排球競技比賽!print t 程式執行需要隊伍a和b的能力值 0到1之間的小數表示 defgetinputs 獲得使用者輸入的引數 a eval input...