上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 设当前询问端点为$l,r$,则目前有$n$中不同颜色的袜子,分别是$a_1,a_2...a_n$,第$i$种颜色的袜子有$cnt_i$只 则抽到两只袜子的情况数有$cnt_1*(cnt_1-1)/2+cnt_2*(cnt_2-1)/2+......+cnt_n*(cnt_n-1)/2$种。 化简:$ 阅读全文
posted @ 2019-09-21 20:57 shao0320 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 考虑模拟退火。 题目要我们找到一个点,使得整个系统平衡。 这个要求等价于让我们找到一个点,使得系统总能量最小。 我们退火出一个点,然后计算其能量即可。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<alg 阅读全文
posted @ 2019-09-20 11:09 shao0320 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 毒瘤莫队卡常题,卡了一早上的常数,才开O2勉强过。 带修莫队模板题。 普通莫队要离线下来做,遇到这种带修改的题目直接就萎了,但是全国广大的OIer们在莫队的基础上,发明了带修莫队这种玄学算法。 具体来说就是给修改和求值打上时间戳,然后在普通莫队双指针的基础上增加一个指针tim指向时间,在这一个维度上 阅读全文
posted @ 2019-09-19 09:56 shao0320 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 维护一个区间内不同数的个数,最直观的想法是直接排序后用树状数组维护即可。但是我们发现n只有3e4,于是我们想到了可以拿一个$O(n\sqrt{n})$的莫队维护。关于莫队算法如果有不知道的或者不会写的,建议看一看这位大佬的博客 1 #pragma GCC optimize(3) 2 #i 阅读全文
posted @ 2019-09-18 23:02 shao0320 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 一、前言 本博客适合已经学会欧几里得算法的人食用~~~ 二、扩展欧几里得算法 为了更好的理解扩展欧几里得算法,首先你要知道一个叫做贝祖定理的玄学定理: 即如果a、b是整数,那么一定存在整数x、y使得$ax+by=gcd(a,b)$。 通俗的说就是:如果$ax+by=c$有解,那么$c\%gcd(a, 阅读全文
posted @ 2019-09-15 21:34 shao0320 阅读(715) 评论(0) 推荐(0) 编辑
摘要: 考虑二分答案+可持久化线段树。 对于这种最大化最小值的问题,通常使用二分来解决。于是我们想到了对果汁按其d值排序。然后使用下标为费用的一棵可持久化线段树来维护费用。 check函数可以这样写:如果我们发现以mid为根的线段树本身还不够li升,就可以直接返回0了,否则贪心地查询其最小花费,如果也符合要 阅读全文
posted @ 2019-09-09 22:59 shao0320 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 今天上午省选字符串......只会KMP、连hash都不会的我被大佬虐惨了......于是我要发奋图强学习字符串,学习字符串当然就要从Trie树这种可爱的数据结构开始啦!!! 一、什么是Trie树??? 字典树,顾名思义,用来保存一些字符串。 二、Trie树的优势/用途??? 那么就有人会问了:保存 阅读全文
posted @ 2019-09-08 23:02 shao0320 阅读(296) 评论(0) 推荐(0) 编辑
摘要: CDQ用来解决分治时左半部分对右半部分造成影响的问题。 CDQ分治的经典问题是三维偏序问题。 要想解决三维偏序问题,首先你要知道什么是偏序。(废话) 一维偏序: 给出直线上的n个点,问有多少对点满足xi<=xj 对于这个问题,直接排序就可以了。 二维偏序: 给定平面内的n个点,问有多少对点满足xi< 阅读全文
posted @ 2019-09-07 15:28 shao0320 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 最近两周做了动态规划的23道经典好题,涉及到区间、树形、数位等三种动态规划类型,现在将这23道题的题解写在下面,方便大家借鉴以及我加深记忆。 upd at:20190815 13:41.T14周年纪念晚会 1、石子合并 经典的区间DP问题,枚举合并的堆数作为阶段,设f[i][j]表示i->j这段区间 阅读全文
posted @ 2019-08-14 20:45 shao0320 阅读(302) 评论(0) 推荐(1) 编辑
摘要: NOIP2012提高组D2T2。 这道题目非常基础,正解貌似是二分+差分数组,在这里提供一种线段树的思路。 很容易发现题目让我们每次修改一段区间,然后我们只需要看每一个区间内有没有负数就可以了。可以用线段树维护每个区间内的最小值,修改的话就直接减就可以了,不要忘了标记下放(否则只有5分...)最后查 阅读全文
posted @ 2019-08-04 09:32 shao0320 阅读(175) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
****************************************** 页脚Html代码 ******************************************