Wannafly挑战赛24】的更多相关文章

Wannafly挑战赛24游记 A - 石子游戏 题目大意: A和B两人玩游戏,总共有\(n(n\le10^4)\)堆石子,轮流进行一些操作,不能进行下去的人则输掉这局游戏.操作包含以下两种: 把石子数为奇数的一堆石子分为两堆正整数个石子: 把两堆石子数为偶数的石子合并为一堆. 若两人都按照最优策略进行操作.求若A先手,最后谁能赢得比赛. 思路: 首先最优策略中一定是将奇数拆成\(1\)和另一个偶数,然后不断将所有偶数进行合并. 因此我们可以统计非\(1\)奇数的个数\(a\)和所有非\(1\)…
https://www.nowcoder.com/acm/contest/186/C 题意:有n个武器,每个武器都有一个重量 Wi,有一个天平,只要两端的重量差不大于m就能达到平衡,求在天平平衡的情况下最多放的重量是多少. 题解:显然可知可以使用动态规划解决.用dp[ i ][ j ]表示到第 i 个武器处两端差值为 j 时的最大重量. 则有dp[ i ][ j ]=max(  dp[ i ][ j ] ,dp[ i-1 ][ j ] ,dp[ i -1 ][ abs(j-W[ i ]) ]+W…
小水题???但是时间限制异常鬼畜,跑了2min \(P | (2^m)*(3^n)-1\)的意思就是\(2^m 3^n = 1 (\text{mod }P)\) 设f[i]表示3^k=i的最小的k 然后枚举2的次幂即可 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,f=1; char ch=getchar(); while(!isdigit…
A. 石子游戏 Alice和Bob在玩游戏,他们面前有n堆石子,对于这些石子他们可以轮流进行一些操作,不能进行下去的人则输掉这局游戏.可以进行两种操作:1. 把石子数为奇数的一堆石子分为两堆正整数个石子2. 把两堆石子数为偶数的石子合并为一堆两人都足够聪明,会按照最优策略操作.现在Alice想知道自己先手,谁能最后赢得比赛. 特判全1的状态, 忽略掉所有的1, 若奇数个数+总个数为偶数则先手必胜否则后手必胜. 因为每一步无论如何操作奇数个数+总个数的奇偶性一定改变. B. 222333 小Y最近…
Wannafly挑战赛25游记 A - 因子 题目大意: 令\(x=n!(n\le10^{12})\),给定一大于\(1\)的正整数\(p(p\le10000)\)求一个\(k\)使得\(p^k|x\)并且\(p^{k+1}\not|x\)的因子. 思路: 枚举\(p\)的每一个质因数\(q\),求出它在\(n!\)出现次数\(/p\)中出现次数,取\(\min\)即可.对于一个质因数\(q\),在\(n!\)中出现的次数等于\(\sum_{i=1}^{\inf}\frac n{q^i}\).…
Wannafly挑战赛27 我打的第一场$Wannafly$是第25场,$T2$竟然出了一个几何题?而且还把我好不容易升上绿的$Rating$又降回了蓝名...之后再不敢打$Wannafly$了. 由于某一场比赛打了一半就咕咕咕了,现在$Rating$已经降得很低了,干脆打一场碰碰运气好了. 差六名就抽到我发奖品了,就当攒点$rp$给联赛好了. T1:http://www.nowcoder.com/acm/contest/215/A 题意概述:给出长度为$n$的序列, 求有多少对数对 $(i,j…
这一次的 Wannafly 挑战赛题目是我出的,除了第一题,剩余的题目好像对大部分算法竞赛者来说好像都不是特别友好,但是个人感觉题目质量还是过得去的,下面是题目链接以及题解. [题目链接] Wannafly 挑战赛 19 参考题解 命题:周甄陶 Problem A. 队列 Q 将操作离线倒序处理,可以线性效率解决这个问题.看代码很快就能懂了,不再赘述. 时间复杂度:$O(N + Q)$ Problem B. 矩阵 首先看一个问题:有一个长度为 $N$ 的序列 $A$,对于每一个位置 $i$,计算…
题目链接 Wannafly挑战赛21A 题解 代码 #include <cstdio> #include <cmath> #define MAX 1000005 #define Pi 3.14159265 struct Point{ double x,y; void input() { scanf("%lf%lf",&x,&y); } void output() { printf("%f %f\n", x,y); } }p[M…
Wannafly挑战赛25C 期望操作数 简单题啦 \(f[i]=\frac{\sum_{j<=i}f[j]}{i}+1\) \(f[i]=\frac{f[i]}{i}+\frac{\sum_{j<i}f[j]}{i}+1\) \(\frac{i-1}{i}f[i]=\frac{\sum_{j<i}f[j]+i}{i}\) \(f[i]=\frac{\sum_{j<i}f[j]+i}{i-1}\) 一边求逆元一边dp即可 #include<bits/stdc++.h>…
Wannafly挑战赛18B 随机数 设\(f_i\)表示生成\(i\)个数有奇数个1的概率. 那么显而易见的递推式:\(f_i=p(1-f_{i-1})+(1-p)f_{i-1}=(1-2p)f_{i-1}+p\) 简化一下,设\(A=1-2p,B=p\)则\(f_i=A\times f_{i-1}+B\) 大力拆...\(f_n=Af_{n-1}+B=A(Af_{n-2}+B)+B=A(A(Af_{n-3}+B)+B)+B...\) 最后\(f_n=\underbrace{(A(A(A(\c…