03 2019 档案

摘要:1101 换零钱 N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。 例如:5分钱换为零钱,有以下4种换法: 1、5个1分 2、1个2分3个1分 3、2个2分1个1分 4、1个5分 (由于结果可能会很大,输出Mod 10^9 + 7的结果) 阅读全文
posted @ 2019-03-27 13:50 张浦 阅读(115) 评论(0) 推荐(0) 编辑
摘要:1116 K进制下的大数 有一个字符串S,记录了一个大数,但不知这个大数是多少进制的,只知道这个数在K进制下是K - 1的倍数。现在由你来求出这个最小的进制K。 例如:给出的数是A1A,有A则最少也是11进制,然后发现A1A在22进制下等于4872,4872 mod 21 = 0,并且22是最小的, 阅读全文
posted @ 2019-03-27 13:47 张浦 阅读(104) 评论(0) 推荐(0) 编辑
摘要:1163 最高的奖励 有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。 输入 第1行:一个数N,表示任务的数 阅读全文
posted @ 2019-03-27 13:43 张浦 阅读(121) 评论(0) 推荐(0) 编辑
摘要:前缀和加SET维护 O(n + nlog(n)) 结果不能为零 白下了一组数据... set中的查找: set<#>iterator it = ST.lower_bound(x); #include <bits/stdc++.h> using namespace std; typedef long 阅读全文
posted @ 2019-03-21 16:55 张浦 阅读(111) 评论(0) 推荐(0) 编辑
摘要:中位数求法比较多 离线的主席树 比较容易实现的就是 在线的对顶堆 对顶堆的定义: 小顶堆存 大于小顶堆堆顶 的 所有元素 大顶堆存 小于大顶堆堆顶 的 所有元素 那么 小顶堆和大顶堆堆顶 就是整个 当前数据元素 的 分界线 并且 堆顶对换/互相插入 不影响定义性质 那么当求中位数时 只需调堆即可 得 阅读全文
posted @ 2019-03-19 10:35 张浦 阅读(252) 评论(0) 推荐(0) 编辑
摘要:蚂蚁的问题都有相似性 从相遇等同于擦肩而过开始推导 如果第一只蚂蚁是正值 那么他后面所有负值蚂蚁都会和他碰面 (如果有的话) 那么这些蚂蚁肯定会和他背后所有和正值的蚂蚁碰面 同理 负值也如此 #include <bits/stdc++.h> using namespace std; const in 阅读全文
posted @ 2019-03-14 21:30 张浦 阅读(95) 评论(0) 推荐(0) 编辑
摘要:前缀树 / 字典树是最简单的树了 欠的总是要还的 O(n)算法的多叉树 比较好理解没啥解释的了 用数组模拟 行结点 列指针 cnt记录最大结点编号 直接上代码吧 可持久化01字典树 struct trie { int cnt, root[MAXN], tr[MAXN * 25][2], sum[MA 阅读全文
posted @ 2019-03-14 17:03 张浦 阅读(112) 评论(0) 推荐(0) 编辑
摘要:三分思想是二分的一个简单延展 二分区间要求是简单线性变换 而对于二次函数等单 峰 / 谷 函数无法获得正确的逼近趋向 而三分搜索可以解决这样的问题 设左右两三分点 X, Y 若F(X) > F(Y) 则有 X = A && Y = B 或 X = A && Y = C; 则必定有峰在X 右侧 同理 阅读全文
posted @ 2019-03-13 19:06 张浦 阅读(123) 评论(0) 推荐(0) 编辑
摘要:GCC官方提供了 int128 (有符号128位整数) uint128 (无符号128位整数) 两种变量类型, 但是windows环境下大多编译器无法编译 OnlineJudge 主要是linux环境 所以平时用ubuntu / linux环境的在线编译器 刷题还是比较贴近竞赛环境的 GCC库自带 阅读全文
posted @ 2019-03-11 10:08 张浦 阅读(590) 评论(0) 推荐(0) 编辑
摘要:感谢ZLY告诉我这个知识点 附上比较不错的模板 https://www.cnblogs.com/Howe-Young/p/4348777.html 例题: http://nyoj.top/problem/139(康托展开) http://nyoj.top/problem/143(康托逆展开) 此题是 阅读全文
posted @ 2019-03-10 11:08 张浦 阅读(129) 评论(0) 推荐(0) 编辑
摘要:快速乘原理同快速幂 不做赘述 ll qmul(ll a, ll b, ll mod) //快速乘 { ll ans = 0; while(b) { if(b & 1) ans = (ans + a) % mod; a = (a + a) % mod; b >>= 1; } return ans; } 阅读全文
posted @ 2019-03-10 10:37 张浦 阅读(172) 评论(0) 推荐(0) 编辑
摘要:递归查询 nxt数组记录下一个可能值 依次搜索出最大匹配值 正确性已被证明在此不做赘述 int k, n, m; const int MAXN = 520; vector <int> edge[MAXN]; int used[MAXN] = {0}; int nxt[MAXN] = {0}; boo 阅读全文
posted @ 2019-03-07 18:08 张浦 阅读(83) 评论(0) 推荐(0) 编辑
摘要:若一段连续子序列[l, r]和为k的倍数 则必定有 sum[r] - sum[l - 1] % k == 0 由同余定理 sum[r] % k == sum[l - 1] % k 由输入数据顺序则必定有已输入数据均在当前数据之前 则可用brr数组记录当前数之前的所有模数 得解 typedef lon 阅读全文
posted @ 2019-03-06 15:40 张浦 阅读(147) 评论(0) 推荐(0) 编辑
摘要:两点间距离公式 dis = sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2) + (z1 - z2) * (z1 - z2)); //算球心距离 球体积 4.0 / 3.0 * PI * r * r * r; 球缺体积 PI * h * h *(r - h 阅读全文
posted @ 2019-03-02 09:57 张浦 阅读(192) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示