因为x很大,我们可以考虑取对数(很好想的),然后就是比较x*log10(x)和log10(n!)之间的大小了。
其中后者我们可以利用斯特林公式(注意精度问题):
#include
这道题和BZOJ windy数一样,简单的数位DP搞搞就OK了。
#include
题解:一开始用的递推瞎搞搞,然后怎么测怎么对,陷入了无尽的绝望了,浪费了很长时间后,换了一种姿势,用了背包写了一发,直接AC,感觉又是玄学,但是没办法,背包的话很简单,定义dp[i][j]:表示当前选的集合里权值和为i且已经放了j个士兵的状态是否合法(合法为1,不合法为0),然后按照一般的背包递推就OK了。
#include
简单的kmp应用,当第一次匹配完成时直接break就好啦。。。
#include
这道题算是A的最快的一道了,最优决策一定是唯一固定的,故我的一个做法是令右括号为‘-1’,左括号为‘1’,然后记录最大值,答案肯定是(最大值+1)/2,其实本质上就是当前括号左边有几个括号没有完成配对。。。。
#include
赛后补的一道题,单调栈用两次,一次求所有子序列的最小值,一次求最大值,然后相减即可。。
#include
这是一道经典题了,大二的时候做过,结论是C(2*n,n)-C(2*n,n-1);(注意要用逆元)
具体证明可以自行百度。。。。
#include
字典树模板题,手码+AC=5分钟。。。写的最快的一道字典树题,唯一的处理就是当前字符标记一下有多少字符串的前缀经过。
#include
比赛签到题,我是拿递归写的。。。。
#include
同样是水题,我们可以先计算出每条线的斜率,然后每次O(n)查找即可
#include