2019牛客暑期多校訓練營(第五場)

2022-05-11 05:09:37 字數 2603 閱讀 4774

2019牛客暑期多校訓練營(第五場)

題號標題

已通過**

題解/討論

通過率團隊的狀態

adigits 2

1016/2378通過b

generator 1

513/3524通過c

generator 2

34/592已補d

generator 3

4/23

未通過e

independent set 1

36/98

隊友已補

fmaximum clique 1

77/779

隊友已補

gsubsequence 1

494/2432通過h

subsequence 2

278/1311通過i

three points 1

125/2614

未通過j

three points 2

4/70

隊友已補

lwqtql:

zgtql:

#include using namespace std;

int t;

int n;

int main()

return 0;

}

矩陣快速冪

#include using namespace std;

typedef long long ll;

ll mod;

struct node ;

node mul(node x, node y)

node pow_mod(node x, ll y)

return res;}

char s[1000005];

int ss[1000005];

int main()

}ss[len]--;

for(int i = len; i >= 1; i--)

} node now;

now.c[0][0] = now.c[1][1] = 1ll; now.c[0][1] = now.c[1][0] = 0ll;

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

ll ans = now.c[0][0] * x1 % mod + now.c[0][1] * x0 % mod;

ans %= mod;

printf("%lld\n", ans);

return 0;

}

寫了篇題解

bsgs

位元狀壓dp

#include using namespace std;

char dp[1 << 26];

int adj[30];

int main()

for(int i = 0; i < n; i++) adj[i] = (~adj[i]), adj[i] ^= (1 << i);

//puts("??");

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

int ans = 0;

for(int i = 1; i < (1 << n); i++) ans += dp[i];

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

return 0;

}

思路跟標程反了。一直沒調對,不知道那裡出錯了。

下面是按照標程思路寫的。思路也不是很難,如果按照長度等不等區分開來進行dp的話,就要額外維護乙個東西。

#include using namespace std;

const int n = 3030;

const int mod = 998244353;

typedef long long ll;

char s[n],t[n];

int n,m;

ll d[n][n],c[n][n];

void predo()

}cout《對於每兩個字母,都能知道單個字元前面有多少個別類字元,所有的情況加起來後就知道前面總共有多少個字元了。不可能的情況可能出現在

#include using namespace std;

const int n = 10010;

int num[20][10010];

int tot[20];

int n,m;

char s[n];

char ans[10*n];

int main()

scanf("%s",s);

int cnta = 0,cntb = 0;

for(int i=0;i= n)

ans[num[i][j] + j-1] = 'a'+i;

} if(!flag)break;

}int sum = 0;for(int i=0;iif(sum != n)flag = false;

ans[sum] = '\0';

if(flag)printf("%s\n",ans);

else printf("-1");

return 0;

}

2020牛客暑期多校訓練營(第五場)

總結 f題添老師一發ac,i 題起初不會做在想怎麼化簡那個式子,後來就直接畫出了最優的圖,然後猜了一發2 3過了。ef 一級目錄 一級目錄 一級目錄 乙個包括n個音符的陣列,音符按下標1 n排列,表示音符由低到高。有兩個操作 drop 2 將第二高的音符移到最低的位置 即將倒數第二個移到第乙個。in...

2019牛客暑假多校訓練營(第五場)

矩陣快速冪,a n,n特別大,想到求某數sum sum 10 s i 0 可以把n一位一位拆開,ans ans 10 st s i 0 指數相加所以分開相乘 十進位制優化類似快速冪!includeusing namespace std typedef long long ll const ll ma...

2019牛客暑期多校訓練營(第五場)I題題解

給定乙個矩形區域,在裡面構造三個點使得其之間的距離等於給定的值 如圖所示,先取 0,0 作為第一點,然後分兩種情況 在x軸上或矩形右邊界找第二個點,最後用餘弦定理和角度關係求出第三點。注意 因為可能會出現超過w,h邊界的情況,我們可以列舉三個點對應放哪個位置來保證答案合法。很好寫 1 define ...