上一页 1 ··· 28 29 30 31 32
摘要: 最基本的线段树的区间更新及查询和 用tag(lazy)数组来“延缓”更新,查询或添加操作必须进行pushdown操作,即把tag从p传到lp和rp并清楚tag[p],既然得往lp和rp递归,那么就可以“顺便”往下传 pushdown操作代码 inline void pushdown(int p, i 阅读全文
posted @ 2019-03-01 21:55 Mrzdtz220 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 题目链接 F[1] = a, F[2] = b, F[i] = 2 * F[i-2] + F[i-1] + i ^ 4, (i >= 3) 现在要求F[N] 类似于斐波那契数列的递推式子吧, 但是N最大能到int的最大值, 直接循环推解不了 所以就得用矩阵快速幂咯 现在就看转移矩阵长什么样了 Mi表 阅读全文
posted @ 2019-02-25 21:07 Mrzdtz220 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 第一道:Rightmost digit 求N^N次最后一个数字 快速幂mod10咯 代码如下: #include <cstdio> #define ll long long using namespace std; const int mod = 10; int qm(ll a,ll b) { ll 阅读全文
posted @ 2019-02-23 17:01 Mrzdtz220 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目链接 说实话挺喜欢soj的界面,简简单单,没有多余的东西hhh(但是简单到连内存限制,时间限制都看不到了。 题意是有个“奇葩”的主人公,吃饭要用三根筷子。两根短的一根长的。 现在给你n根筷子,要在里面挑k+8对筷子(一对三根,有一根最长的,设为Ai <= Bi <= Ci (Ai-Bi)^ 2 阅读全文
posted @ 2019-02-19 15:48 Mrzdtz220 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目链接 Doing Homework Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline 阅读全文
posted @ 2019-02-17 21:40 Mrzdtz220 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意就是给N根火柴,M个数(M只能是1到9,对应的数字也只能是1到9),只能用这M个出现过的数(但每个数可以随便用多少个,只要火柴够)来拼出一个数字(拼出1,2,3,4,5,6,7,8,9分别要用2,5,5,4,5,6,3,7,6根火柴),要求最大能拼出多大的数。 就是完全背包嘛,要是数字 阅读全文
posted @ 2019-02-17 14:50 Mrzdtz220 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意就是要让给出的数字去互相取余,看看能得到最小的数事多少。 那么就可以从小到大排序,每一次都贪心地把最小的数作为攻击者,去攻击其他的数字(也就是大的取余小的),然后再一次排序,循环这个过程,直到出现1或者数字只剩一个非0数。 代码如下 1 #include <cstdio> 2 #inc 阅读全文
posted @ 2019-02-17 14:20 Mrzdtz220 阅读(289) 评论(0) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32