摘要: 链接:https://www.luogu.org/problemnew/show/P4146 题解: 平衡树的区间修改操作,注意updata的时候要把左右儿子给down了 另外这题有负数 阅读全文
posted @ 2018-02-02 15:22 尹吴潇 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题解: 注意到k<=20;记录20个数f1...f20表示从选1-20个数的乘积分别为多少, 那么是一个(…+x)(…+x)……(…+x) 拆括号,枚举含有j个x,那么就是xj∗f[i−j]∗Cjlen−i+j 那个组合数的含义?因为有j个x,这j个x所在括号另一项的可能性是什么呢?i-j个已经确定 阅读全文
posted @ 2018-02-01 23:11 尹吴潇 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.luogu.org/problemnew/show/P1471 题解: 对式子进行一些化简就会发现等价于在求方差 裸的线段树 阅读全文
posted @ 2018-02-01 22:14 尹吴潇 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1558 题解: 考虑这么用线段树进行维护,由于他有区间修改等差数列 很容易想到可以用差分数组来维护(这东西经常和数据结构用在一起) 那么每一次的区间修改就变成了单点修改 另外我们可以利用线段树来维 阅读全文
posted @ 2018-02-01 13:02 尹吴潇 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.luogu.org/problemnew/show/P1712 题解: 显然是个滑动窗口的问题,用线段树维护最大值即可 注意:离散化时空间要开2倍,最大值初始赋值为2e9比较好 代码: 阅读全文
posted @ 2018-02-01 12:52 尹吴潇 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.luogu.org/problemnew/show/P3168 题意:有n个任务,在si-ti发生,有优先级pi,求x时刻前k个pi之和 n,si,ti<=100000,pi<=1e9,强制在线 题解: 显然可以用主席树来维护,第一维维护时间,第二维维护优先级,查询时树 阅读全文
posted @ 2018-02-01 10:38 尹吴潇 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.luogu.org/problemnew/show/P2824 题解: 思路非常奇特的一道题 第一次做应该很难想出来。。 考虑一个序列只有0/1 那么将区间排序就只需将0/1放在最前面/最后面即可,这个显然是可以用线段树来维护的 那么考虑原题 我们可以先二分答案,然后将 阅读全文
posted @ 2018-01-31 21:28 尹吴潇 阅读(130) 评论(0) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> using namespace std; #define maxn 100100 int c[maxn],n,m,ans,d[maxn],minn[maxn*5],sum[maxn*5],lazy[maxn*5]; struct re { int a 阅读全文
posted @ 2018-01-31 21:23 尹吴潇 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 单调队列优化: 阅读全文
posted @ 2018-01-31 11:20 尹吴潇 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.luogu.org/problemnew/show/P2023 裸的线段树维护+* 代码: 阅读全文
posted @ 2018-01-30 23:19 尹吴潇 阅读(132) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-01-30 21:17 尹吴潇 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1542 题意: 求所给矩形的覆盖面积 题解: 利用扫描线的思想,先将坐标离散化,之后以y轴分成多个矩形求解,可以让下边界+1上边界-1 问题就转化为了:求区间中有多少个非0数,要求支持区间+1 -1操作 我们 阅读全文
posted @ 2018-01-30 20:40 尹吴潇 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.luogu.org/problemnew/show/P2254 题解: 思路很好想,若用f[i][j][k]表示k时间到达i,j位置的最大花费 转移即从当前方向转移 时间复杂度(n*m*t) 空间复杂度(n*m*t) 注意到题目给出了大T,只有200,n*m*T的时间是 阅读全文
posted @ 2018-01-30 15:07 尹吴潇 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.luogu.org/problemnew/show/P2216 题解:维护两次单调队列 代码: #include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <iost 阅读全文
posted @ 2018-01-30 10:42 尹吴潇 阅读(144) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-01-22 22:33 尹吴潇 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-01-16 23:40 尹吴潇 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-01-15 22:41 尹吴潇 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-01-14 23:53 尹吴潇 阅读(2) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std; #define maxn 5000000 char a1[maxn],a2[maxn];int f[maxn]; void find(char* t,char* p,int *f) { int n=strlen(t),m=strlen(p); int j=0; for (int i=0;i>a1>>a2; ... 阅读全文
posted @ 2018-01-12 00:17 尹吴潇 阅读(134) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-01-11 23:32 尹吴潇 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 问题: 解法: 代码: #include <iostream> #include <string.h> #include <stdio.h> #include <math.h> //#include <bits/stdc++.h> using namespace std; #define ll lo 阅读全文
posted @ 2018-01-11 00:33 尹吴潇 阅读(114) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-01-10 00:17 尹吴潇 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 链接: https://www.luogu.org/problemnew/show/2634 裸的点分治 阅读全文
posted @ 2018-01-09 23:30 尹吴潇 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 别人的讲解:https://www.cnblogs.com/fripside/p/3587782.html 例题1:迷宫城堡 裸的强连通分量 代码: #include <bits/stdc++.h> using namespace std; #define maxn 11111 int v,ll,t 阅读全文
posted @ 2018-01-09 23:19 尹吴潇 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题意: 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中。由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而能够烹饪出经过专家认证的满汉全席,也是中国厨师最大的荣誉之一。 世界满汉全席协会是由能够料理满汉全席的专家厨师们所组 阅读全文
posted @ 2018-01-07 23:54 尹吴潇 阅读(111) 评论(0) 推荐(0) 编辑
摘要: dinic 代码: 最小费用最大流: 阅读全文
posted @ 2018-01-07 23:02 尹吴潇 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题意: windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 数据范围 A,B≤100 题解: 很显然的一道数位dp 对于第i位是x的状态,可以由第i-1位是y的状态转移(满足x-y 阅读全文
posted @ 2018-01-07 22:40 尹吴潇 阅读(179) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-01-06 17:52 尹吴潇 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出一颗树,询问有多少对点对距离<=k 链接: http://poj.org/problem?id=1741 题解: 点分治的模板题 点分治即采用分治思想分而治之 考虑一颗子树内距离<=k的两种情况 1.这两点连线不过根节点、 那么就是这个问题的一个子问题 2.这两点连线过根节点 那么从根节 阅读全文
posted @ 2018-01-02 23:54 尹吴潇 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 介绍 lucas定理用于解决模数p较小的组合数问题 其主要定理有: lucas(n,m,p)=combin(n%p,m%p)*lucas(n/p.m/p,p) 边界条件为当n<p时return combin(n,m,p) combin(n,m,p)=n!*(m!*(n-m))^p-2; 题意: 链接 阅读全文
posted @ 2018-01-02 23:40 尹吴潇 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题意: 链接: https://www.luogu.org/problemnew/show/1972 题解: 很好的模板题。。。。 1.主席树 为避免将一个元素重复计算,我们可以保证只计算一个区间内该元素的最后一个 在操作时我们只需要将这个位置的线段树的这个元素的下一个出现的位置的值++(有点绕) 阅读全文
posted @ 2018-01-01 13:34 尹吴潇 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 辗转相减求a,b的gcd其实可以优化的: 1、若a为偶数,b为奇数:gcd(a,b)=gcd(a/2,b) 2、若a为奇数,b为偶数:gcd(a,b)=gcd(a,b/2) 3、若a,b都是偶数:gcd(a,b)=2*gcd(a/2,b/2) 3、若a,b都是奇数:gcd(a,b)=gcd(a-b, 阅读全文
posted @ 2018-01-01 00:23 尹吴潇 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题意: 题解: 思维难度不高,考虑到n较大,而反质数个数较少 所以只要算出每个反质数即可 考虑如何计算,可以发现,我们只需枚举计算出约数有x个的最小数,再做一下判断即可 另外约数的个数=(a1+1)(a2+1)(a3+1)...... 其次有三个细节需要注意 1.是对约数个数的预计,小了会造成wa 阅读全文
posted @ 2018-01-01 00:19 尹吴潇 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 差分 代码: 阅读全文
posted @ 2017-12-31 15:26 尹吴潇 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1.约数的个数 n的唯一分解式=p1^a1*p2^a2*p3^a3*pr^a4 则n的约数个数为((a1+1)*(a2+1)*(a3+1)*(a4+1)........) 2.小于n且与n互素的整数个数 phi(n)=n(1-1/p1)*(1-1/p2)*....... 3.求1-n间的phi(n) 阅读全文
posted @ 2017-12-30 21:27 尹吴潇 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 主流有两种筛法 一种是nloglogn的筛法 一种是线性筛 代码: 阅读全文
posted @ 2017-12-30 20:58 尹吴潇 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 首先是4个重要的泰勒展开式 1. 2. 3.(e(-x)+e(x))/2=1+x^2/2!+x^4/4!+x^6/6!+...... 4.(e(x)-e(-x))/2=x+x^3/3!+x^5/5!+x^7/7!+...... 之后是两类母函数的应用 总体思路:利用(x^a+x^b+x^c)指数表示 阅读全文
posted @ 2017-12-30 20:38 尹吴潇 阅读(159) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-12-30 20:38 尹吴潇 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 老早的一道水题 题意: 上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂。这里有两个打饭的窗口,每个窗口同一时刻只能给一个人打饭。由于每个人的口味(以及胃口)不同,所以他们要吃的菜各有不同,打饭所要花费的时间是因人而异的。另外每个人吃饭的速度也不尽相同,所以吃饭花费的 阅读全文
posted @ 2017-12-28 23:29 尹吴潇 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。 30%的数据中,a<=b<=10^6;100%的数据中,a<=b<=10^12。 题解: 第一道数位dp题。。 统计出1-x内每种数码出现次数,由前缀和思想答案为f[b]-f[a-1] f[x,y]表 阅读全文
posted @ 2017-12-28 22:21 尹吴潇 阅读(136) 评论(0) 推荐(0) 编辑