- 博客(641)
- 收藏
- 关注
转载 Book--欧拉四面体公式
适用:给出每条棱长,求四面体的体积。(系转载)1,建立x,y,z直角坐标系。设A、B、C少拿点的坐标分别为(a1,b,1,c1),(a2,b2,c2),(a3,b3,c3),四面体O-ABC的六条棱长分别为l,m,n,p,q,r;2,四面体的体积为,由于现在不知道向量怎么打出来,我就插张图片了,将这个式子平方后得到:3,根据矢量数量积的坐标表达式及数量积的定义得又...
2019-07-28 00:23:00 251
转载 Book--二项式/子集反演
2016-09-2716:38:58看到这个东西,记录一下这个东西~对于子集反演(from vfleaking): 转载于:https://www.cnblogs.com/naturepengchen/articles/5913418.html...
2016-09-27 16:41:00 1089
转载 SCL--二维BIT(区间修改、区间查询)
2016-09-1823:56:11题目来源:CF 341D题意:1000*1000的矩阵,子矩阵异或,子矩阵异或和。#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <vector>#...
2016-09-18 23:57:00 289
转载 HDU--5755(高斯消元)
2016-07-2714:23:49【传送门】题意:给出 N*M 的矩阵,每个元素为 0 或 1 或 2,每次操作可以选择一个元素给他加2,且其上下左右的格子里的数加1,所有操作都在模3域内操作。 问一个可行的操作方案,使得方案总数不超过 2 * N * M 。 1 <= N , M <= 30思路:这题虽然可以暴力建出 900 * 900 的矩阵进...
2016-07-27 14:48:00 278
转载 SCL--二分与lower_bound / upper_bound
2016-07-1319:20:06使用手写二分实现lower_bound与upper_bound:lower_bound: 第一个 >= v 的位置。upper_bound: 第一个 > v 的位置。lower_bound:int l = 1,r = n,ans; while(l < r){ int mid = g...
2016-07-13 19:38:00 404
转载 Topcoder SRM 693 & Atcoder RC#56 小结
2016-06-2612:17:54近期打的两场比赛,小结一下里面有趣的题。1:TC SRM 693 div1 600pt题意:给出一个k(<=1e9),让你造一个n(<=20)对点的二分图,点之间可以有重边,总边数为E(<=120),使得其完备匹配方案数为k。思路:首先注意到可以有重边,这个很关键。其次,这种构造显然是拆分 k 为某个 base 进制...
2016-06-26 12:49:00 120
转载 ZOJ--3937(点分治,斜率优化)
2016-04-2702:00:42【传送门】题意:给出一棵带点权的树,点编号1~N,要求选一段路径,且仅能从标号大的点走到标号小的点,设路径为 p1->p2->p3 ....->pk,令 f = Sigma( i * weight of pi ) , 1<=i<=k,要求最大的 f思路:考虑点分治,对于每个分治中心,将答案路径拆分为一条从中心...
2016-04-27 02:19:00 191
转载 Codeforces edu round11 F(斜率DP)
2016-04-2619:55:10【传送门】题意:给出 n 个数,有正有负,让你求出一个连续字段 [l,r],使得 Sigma((i - l + 1) * a[i]), l<=i<=r 的值最大思路:设 Si = a1+a2+...ai,Qi = 1*a1+2*a2+...+i*ai,那么 [l,r] 的答案就是 Qr - Ql-1 - (l - 1) * (...
2016-04-26 20:08:00 119
转载 BZOJ--2301(莫比乌斯反演,优化)
2016-04-1917:43:45题意:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k。思路:BZOJ的题,需要优化的莫比乌斯,F(d) = number of gcd(x,y) , (d|gcd(x,y)) ; f(d) = number of gcd(x,y)=d ===> f(d) = ...
2016-04-19 19:02:00 99
转载 有关逆元使用的注意点
2016-03-2119:43:56逆元的使用基于欧拉定理:X^phi(P)≡1 mod P,若X与P互质,则有 X^(P-1)≡1 mod P使用注意点1:判断P是否为素数,若为素数,且X与P互质,则用费马小定理。使用注意点1.5:如果X与P不互质,用拓展GCD。使用注意点2:0 没有逆元!inv(a + b + ... ) (mod P),一旦要求...
2016-03-21 19:50:00 142
转载 HDU--5589(莫队,字典树)
2015-12-0722:07:37【传送门】题意:一棵树有N个节点,编号为1到N,每条边都有边权。定义f(u,v)为从u到v路径上所有边权的异或和。给定一个数M,有Q次查询,每次给定一个区间[l,r],询问有多少对(u,v)满足f(u,v)>M (l <=u<v<= r),数据范围:5w思路:考虑离线莫队,先处理处F[i]表示从根1到点i的路径的x...
2015-12-07 22:15:00 200
转载 2015 苏州大学程序设计校赛题解 #1
【传送门】1001 签到题: 答案为12。1002 丢失的数字: 思路:考虑到 n 的范围比较小,因此只要开一个 > 100000 的数组来记录在 [1,n] 范围内的数是否出现即可。#include<stdio.h>#include<string.h>#include<algorithm>usi...
2015-11-24 22:59:00 142
转载 Book--欧拉函数与GCD
2015-11-0511:52:11从南阳CCPC的F题,以及最近刷的Mobius专题中总结了一些欧拉函数有关gcd的一些应用。我们来关注以下几个问题:(1)计算比m小,且与m互质的正整数的数的个数以及它们的和。 个数:phi(m) 和:phi(m)* m / 2(2)计算比m小,且与m的最大公约数为k的数的个数以及它们的和。 个数:phi(m / k...
2015-11-05 11:58:00 156
转载 SCL--CRT(中国剩余定理)
2015-09-1822:44:20总结:复习了一下CRT,整理出这个板子。核心方程(1):,几个同余方程模数非互素,可以计算出所有模数的所有素因子的最高幂形 p^k,然后CRT。核心方程(2): 有整数解。并且在模下的解是唯一的,解为 其中,而为模的逆元。(这部分转自ACdreamer‘s blog)1:m1,m2 ... m...
2015-09-18 22:55:00 163
转载 HDU--5435(数位DP,预处理)
2015-09-1816:24:50题意:定义F(x)为 x 各个数位上数的异或和。求 Sigma(F(k))(a <= k <= b),a,b的位数在10万级。思路:一般的数位DP都不会给太多的位数,然而这题达到了10万级。所以我们需要想优化。 优化:用 dp[i][j] 表示 [ 0 , 10^i)区间内所有数 F 值= j 的数的数量。 然后数位D...
2015-09-18 16:33:00 145
转载 SCL--字符串HASH
22:13:592015-11-05结构体 HASH,贴在这~struct Hash{ ll B,mod,len,Has[200005],Base[200005]; void init(char *s,LL _len,LL _B,LL _mod){ B=_B; mod=_mod; len=_len; Base[0]=1; Has[0]=0;...
2015-09-16 21:53:00 295
转载 ZOJ--3899(分治NTT,DP,线段树)
2015-09-1422:20:13【传送门】题意:有N(有序号)个怪兽,给出M(1~M)个房间,每个房间的初始状态为1,接下来有D次操作,每次操作是选择一个区间使得区间内房间的状态反转(0->1 , 1->0),每次操作后计算将这N个怪兽放进所有状态为1的房间内,且每个状态为1的房间非空的方案数。(注意房间之间不可辨别。两种方案一样,当且仅当两种方案中存在两个房间...
2015-09-14 23:07:00 158
转载 HDU--4305(生成树计数)
2015-09-0722:23:26【传送门】题意:平面上300个点,如果两点之间距离<=R,且两点形成的线段上没有另外的点,那么两点之间有一条无向边。问生成树的方案数。思路:暴力n^2建图,关于判断两点形成线段上是否有其他点,比如判断 k 点知否在 i ,j 之间,首先看斜率是否相等,不能直接求斜率,而应该转化为乘式;再判断 dis(i,k)+dis(k,j)是否等...
2015-09-07 22:35:00 190
转载 SCL--生成树计数(Matrix-Tree定理)
2015-09-0720:52:51总结:2012 多校#1 的 F题遇到的生成树计数,学习一下~ 相关学习资料:周冬论文,博客,比较好的code 生成树计数方法较多,然而由Matrix-Tree定理(Kirchhoff矩阵-树定理),我们可以得到一个非常有效率的算法。它首先于1847年被Kirchhoff证明。 适用于无自环、重边。 我们先定义矩阵D为度数...
2015-09-07 21:44:00 165
转载 SCL--最小费用最大流
2015-09-0422:42:49总结:由于以前的代码风格不同,所以现在有必要总(zhan)结(tie)一个最新的MCMF模板了。用SPFA实现的,必要时可以上优化过的Dijstra。 1 struct edge{ 2 int v,next,cost,cp; 3 }; 4 5 struct MCMF{ 6 edge e[MA...
2015-09-04 22:45:00 105
转载 Codeforces #318 div1
2015-08-3016:16:14【传送门】总结:晚上BC、CF连着打... 酸爽- -。比赛速切了前两题,第三题搞了INF久... 赛后把C补了一下。A题:Brute force 题意:有10^5个数,可以给每个数*2或者*3,可操作无穷次,问最后所有数是否可能相等。 思路:显然就是看所有数除2和3之外的质因数的指数是否一致,把所有数尽量除2,除...
2015-08-30 16:29:00 99
转载 Codeforces #265 div1
2015-08-2918:00:22【传送门】小结:开的VP,这场题目质量很高~比赛中24min过了A题就“吃面包了”。。。 第二题自己想了个很麻烦的做法... 打不完 - -,赛后补了前3题。A题:技巧,思维。 题意:给出一个只用前p个小写英文字母的字符串,而且不存在长度>=2的回文子串,让你构造出字典序下一个这样的串(且长度不变)。串长<=...
2015-08-30 02:46:00 88
转载 HDU--5322(分治NTT,DP)
2015-08-1718:53:54【传送门】题意:和 ZOJ3874 那道有点像,题意就不赘述了。思路:根据DP定义:DP[i]为1~i 排列的答案,那么根据就可以CDQ分治NTT来做了。#include <cstdio>#include <ctime>#include <cstring>#include <...
2015-08-17 19:00:00 191
转载 HDU--5324(CDQ分治,DP)
2015-08-1622:20:21【传送门】Pre:Jay巨出的题~最近在补CDQ,这题当然要做辣!在已经做过CDQ+DP题的前提下,这题就不难做了~题意:给出两列数L1~Ln,R1~Rn,求出字典序最小的最长的子序列下标(可离散),满足L非严格递减,R非严格递增。(n <= 50000)思路:典型的DP,可以用树套树优化到N(logN)^2,但是显然用CDQ更...
2015-08-16 22:30:00 164
转载 HDU--5383(最大权匹配)
2015-08-1622:15:07【传送门】题意:游戏王的背景,大概意思就是用已经有的怪兽卡(<=300)作为祭品去召唤一些高级卡,要使得最后场上所有怪兽卡的攻击总和最大。思路:由于每张高级卡需要1张Tuner monsters和1张Non-Tuner monsters,那么很自然就可以以T卡为左,NT卡为右,边权为合成后的卡的攻击力最大值来建图,注意这里要取个最大...
2015-08-16 22:20:00 119
转载 Codeforces #315 div1
2015-08-1103:22:39【传送门】总结:由于实验室网络不稳定... 跑到宿舍楼下自习室打的... 最近一直在补多校、刷图论数论,脑子有点僵... DP很久没刷,深感dp实力下降,在之前的BC中就已经体现出来了,第二道水DP竟然还debug了10min TUT。 今天这场也算是敲醒了dp警钟。A题:这题出的怪怪的,暴力打表... 没啥好说的,注意...
2015-08-11 03:33:00 70
转载 ZOJ--3874(CDQ分治,NTT)
2015-08-1020:56:00【传送门】浙江省赛F题,看这两个算法套起来有点悬乎,其实做过就还好~题意:对于一个序列,给形成逆序对的两个数连边,输入给出连完边后的各连通块情况,问原序列种类数。思路:首先在同一连通块内的点的编号必定连续,然后就需要一点技巧了,用 dp[i] 表示 1~i 这些点在同一连通块内的序列数。 那么有转移方程:,右边是一个卷积,A行...
2015-08-10 21:08:00 123
转载 HDU--4742(CDQ分治,DP)
2015-08-1015:24:45【传送门】题意:给出最多10^5个点,每个点有x,y,z坐标(1 <= x , y ,z <= 2^30),如果点A(x1,y1,z1)到B(x2,y2,z2)有边,当且仅当 x1 <= x2 , y1 <= y2 , z1 <= z2,问该有向图中的最长路。思路:1维2维的情况都很好解决,三维的话在DP的基...
2015-08-10 15:37:00 153
转载 SCL--割顶 / 桥
2015-08-1000:19:19总结:割顶 / 桥的 Tarjan 求法学过很久了。在小结一下SCL吧~加入 vis[ ] 数组是为了考虑重边!(1)割顶:连通的无向图中,去掉该点无向图不再连通。void Init(){ memset(first,-1,sizeof(first)); ecnt = tot = 0;}void Dfs(...
2015-08-10 00:41:00 89
转载 BZOJ--1176(CDQ分治)
2015-08-0918:57:08【传送门】CDQ第一道启蒙题~题意:最多16万个修改,1万个询问,维护的是一个W*W的矩阵(W<=2000000),每个修改是给一个格子加权值,每个询问是询问一个子矩阵内的权值和。思路:考虑CDQ分治,首先将子矩阵查问拆分为4个查询,然后容斥搞一下,将所有询问按照 x 轴排序,然后将所有操作按照时间一分为二。 (1)先处理掉前...
2015-08-09 19:03:00 186
转载 ACdream--1157(CDQ分治)
2015-08-0918:48:32【传送门】CDQ第二道启蒙题~题意:有最多10^5种操作,每种操作可以是(1)添加一条线段【L,R】,(2)删除第 i 条添加的线段,(3)查询有多少现存的线段完全包含【l,r】这条线段思路:考虑CDQ分治,有BZOJ 1176的经验,可以先将所有操作按照左端点进行排序,然后将操作按照时间一分为二,先处理前半边修改对后半边询问造成的影响,...
2015-08-09 18:56:00 92
转载 Uva--12633(FFT,建模)
2015-08-0917:03:26【传送门】题意:在一个最大50000*50000的棋盘上放最多50000颗某种棋子,每个棋子能攻击同行 / 同列 / 同主斜线上的格子(主斜线即:左上到右下的斜线)。问放完所有棋子后有多少个格子不会被攻击到。思路:首先如果棋子只能攻击同行 / 同列,那么直接统计O(n)解决。但是这题涉及主斜线,考虑其主斜线的性质,如果放在笛卡尔坐标系中,...
2015-08-09 17:12:00 117
转载 SPOJ -- Triple Sums(FFT)
2015-08-0900:45:56【传送门】题意:给出最多40000个数v1~vn,每个数在-20000~20000之间,任取三个数(每个数不能重复取)求和,问所有可能组成的和,以及其组成方案数。思路:先把数域转化到0 ~ 40000内,然后统计每个数出现次数,得到系数多项式A。 对于其自卷积两次后,会有形如:,三种形式。 我们需要的是第一种,考虑用容斥去掉后...
2015-08-09 00:57:00 99
转载 Codeforces #Pi div2 only
2015-08-0822:06:48【传送门】赛后补的一场A、B题水。C题,只要正着、反着扫一遍,再统计答案就可以了。#include <cstdio>#include <ctime>#include <cstring>#include <cstdlib>#include <cmath&g...
2015-08-08 22:20:00 70
转载 SCL--FFT & NTT
2015-07-2802:26:59总结:(1)关于FFT,算法导论讲得非常好,证明详细,课后题很有启发性。这里先上花了一天多时间综合总结起来的模板,效率还可。 大致流程有倍次,求值,乘法,插值。求值点是 n 次单位复数根。(2)关于NTT,推荐一下 Acdreamer 的 blog,有关原根的知识:blog 然后就是FFT整数域中模运算下的形式。求值点变成了...
2015-07-28 02:32:00 164
转载 HDU--4609(FFT,计数)
2015-07-2801:56:55【传送门】题意:很短,给出最多10^5个数 L[1] ~ L[n](数的范围:[1,10^5]),问任意挑选3个数以其为边长能组成三角形的概率。思路:首先考虑三角形的判定:任意两边和大于第三边。对于10^5个数,两两求和显然不够快,但是我们可以这样:统计每个数的出现次数,然后把每个数看成m阶多项式的系数(m由数的最大值决定),就像:a0 ...
2015-07-28 02:26:00 156
转载 Codeforces #313 div1
2015-07-2614:05:40【传送门】总结:前三题都是可做的。赛中三题,由于最近的多校,没补后面的题了... 第二题有点坑爹... hack 数据是针对某些 dfs 顺序的。用 string 的就可能被卡。A题:简单题。将其补全成正三角形就 ok 了。#include <cstdio>#include <ctime>...
2015-07-26 14:23:00 79
转载 SCL--Manacher(线性回文子串处理算法)
2015-07-2110:48:31【学习传送门】总结:线性求以每个位置为中心的最长回文串O(n)算法 get 。 (1)在相邻位置间插入特殊字符 / 数字。从而将所有回文串的长度转化为奇数。 (2)用类似DP的方法线性求出每个点的 P[] 函数,P[i]void Manacher(){ int top = 2 * n + 1; int ...
2015-07-21 11:14:00 89
转载 BZOJ--1502(Simpson积分)
2015-07-2020:01:26【传送门】题意:给出多个圆台构成的柠檬树,求其在底面上的投影的面积。给出圆台的参数和月光与底面的夹角。(月光考虑为平行光)思路:考虑圆台 / 圆锥在底面上的平行投影是若干个圆的并,他的轮廓就是若干个圆以及相邻圆之间的两条外公切线构成,所以列出所有圆以及公切线,考虑对X轴微分,f(x)为对应的y值,然后Simpson积分,由于只算了上半部分...
2015-07-20 20:07:00 77
转载 2014-2015 NEERC
2015-07-2014:46:19【传送门】总结:NEERC,一贯的欧洲风格。 暑假的组队训练,赛中6题,目前补到7题。更新一下有意思的题的题解。A题:规律。先选所有奇数行进行操作就能发现规律。#include <cstdio>#include <ctime>#include <cstring>#in...
2015-07-20 15:56:00 357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人