摘要: 题目 求 $a^{n\choose m}\pmod{999999599}$ 数据范围均为1e9 思路 转化 首先观察到999999599是一个质数。根据费马小定理,我们只需要先求出 ${n\choose m}\bmod{999999598}$,然后使用快速幂算法即可求得答案。 卢卡斯定理? 如果你还 阅读全文
posted @ 2020-03-26 21:31 water_lift 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 求 ${n+m \choose n}\bmod p$ 卢卡斯(Lucas)定理 $$ {n \choose m}\equiv{n\bmod p \choose m\bmod p}\times{\lfloor{n\over p}\rfloor \choose \lfloor{m\over p}\rfl 阅读全文
posted @ 2020-03-24 20:06 water_lift 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 一道使用Fibonnaci数列通项公式的趣味题目 求 $$ \sum_{i=0}^n{n\choose i}f_i $$ 其中$f_i$表示Fibonnaci数列($f_0=0, f_1=1, f_n=f_{n 1}+f_{n 2}$)第n项。 内心:WTF.jpg 当时下面很多神仙都纷纷表达了自己 阅读全文
posted @ 2020-01-17 21:09 water_lift 阅读(319) 评论(0) 推荐(0) 编辑
摘要: P3292 [SCOI2016]幸运数字 一颗带点权的树,每次查询指定两个点,求在两个点之间的这条路径(包括两端)上选任意个数能得到的最大异或值。 做法 考虑倍增维护LCA,同时维护向上$2^k$的点的线性基,然后查询求LCA时将经过的所有线性基暴力合并即可。 cpp include include 阅读全文
posted @ 2019-07-10 21:01 water_lift 阅读(194) 评论(0) 推荐(0) 编辑
摘要: P3857 [TJOI2008]彩灯 n个灯,每个灯只有开关两种状态,开始都关着。 m个开关,每个开关对应若干个灯,拉动一下就会使该开关控制的所有灯改变状态。 问有多少种不同的状态。 做法 考虑把每个灯抽象成一个二进制位,开是1,关是0,那么当前状态就是一个二进制数。 然后拉动开关就相当于给当前状态 阅读全文
posted @ 2019-07-10 21:00 water_lift 阅读(121) 评论(0) 推荐(0) 编辑
摘要: P3812 【模板】线性基 给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大。 $1\leq n\leq50, 0\leq a_i\leq 2^{50}$ 做法 显然重复不重复没有什么区别。 直接套线性基板子。 cpp include using namespace std 阅读全文
posted @ 2019-07-10 21:00 water_lift 阅读(177) 评论(1) 推荐(1) 编辑
摘要: P1310 表达式的值 题目描述 给你一个带括号的布尔表达式,其中 表示或操作 ,` &`,先算 再算 。但是待操作的数字(布尔值)不输入。 求能使最终整个式子的值为0的方案数。 题外话 不久之前我在codewars上做过一道类似的题目。 以及把它搬运到了洛谷上。 布尔表达式计数问题 考虑这样一个问 阅读全文
posted @ 2019-06-17 11:43 water_lift 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 常数PK系列说明: 在AC的情况下得分=\(\sum_{i=1}^{10}{1000-runtime\_on\_point_i}\) RE会显示UKE UPD:之前的数据太水,导致好多题都在9000分以上,这次加强了数据,请重新提交。若影响了您的正常做题体验,还请谅解。 U69283 【常数PK系列 阅读全文
posted @ 2019-04-21 10:50 water_lift 阅读(393) 评论(1) 推荐(1) 编辑
摘要: 我的BFS板子 以上的代码中有很多地方使用了伪代码,或者说,不是我们实际编写的形式。下面给出一个具体实现: cpp struct node { int x, y; //坐标 int step; //到此的步数 node(int x, int y, int step) : x(x), y(y), st 阅读全文
posted @ 2019-04-20 20:41 water_lift 阅读(828) 评论(0) 推荐(2) 编辑
摘要: 今天下午做了一道叫 "邮票 Stamps" 的题。敲代码的时候就发现,好像和去年D1T2 "货币系统" 有点像,原理都是一个完全背包DP。做完之后交上去发现有几个点RE了,于是马上把数组改大,AC。 我赶忙找到去年那题: 改了一下: 70分就这样没了。省一 省二。 再懊恼也没有用了,只能 庆幸自己最 阅读全文
posted @ 2019-03-29 20:24 water_lift 阅读(189) 评论(0) 推荐(5) 编辑