07 2017 档案

摘要:A水,总是忘记输出个数 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<i 阅读全文
posted @ 2017-07-31 19:07 walfy 阅读(112) 评论(0) 推荐(0)
摘要:A,判断向哪边旋转的,枚举过的= =,感觉我的太复杂了,应该有更简单的方法 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #i 阅读全文
posted @ 2017-07-31 11:48 walfy 阅读(139) 评论(0) 推荐(0)
摘要:C题,刚开始以为遍历整个树,后来发现二重循环判断就行了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cas 阅读全文
posted @ 2017-07-30 11:00 walfy 阅读(223) 评论(0) 推荐(0)
摘要:这一场有点坑 A题,求最大值之后相减 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #in 阅读全文
posted @ 2017-07-28 20:04 walfy 阅读(139) 评论(0) 推荐(0)
摘要:求距离 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> 阅读全文
posted @ 2017-07-28 14:05 walfy 阅读(485) 评论(0) 推荐(0)
摘要:CodeForces 402A 水题,模拟 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> 阅读全文
posted @ 2017-07-28 12:43 walfy 阅读(159) 评论(0) 推荐(0)
摘要:求三点之间的最短路,,分别求两点之间的lca除2即可(代码写的太挫了,wa了14发= =) #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cs 阅读全文
posted @ 2017-07-28 12:38 walfy 阅读(156) 评论(0) 推荐(0)
摘要:lca求距离,带权值 的树上求lca,我是用倍增法求的,求两点之间的距离转化为到根节点之间的距离 (de了一个小时 的bug,重打居然就过了。。。。) #include<map> #include<set> #include<cmath> #include<queue> #include<stack 阅读全文
posted @ 2017-07-27 19:40 walfy 阅读(351) 评论(0) 推荐(0)
摘要:直接套模板,dfs的时候注意起点 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #incl 阅读全文
posted @ 2017-07-27 16:33 walfy 阅读(221) 评论(0) 推荐(0)
摘要:A水,直接看样例找规律,数组开小导致wa了一发。。。 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cass 阅读全文
posted @ 2017-07-26 12:38 walfy 阅读(240) 评论(0) 推荐(0)
摘要:A超级水,三分钟1a #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<io 阅读全文
posted @ 2017-07-26 12:34 walfy 阅读(123) 评论(0) 推荐(0)
摘要:Codeforces Round #395 (Div. 2) 最近忘了写,直接扔代码好了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cst 阅读全文
posted @ 2017-07-26 10:19 walfy 阅读(173) 评论(0) 推荐(0)
摘要:打表欧拉函数,求2到n的欧拉函数和 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #inc 阅读全文
posted @ 2017-07-25 13:53 walfy 阅读(176) 评论(0) 推荐(0)
摘要:二分 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> # 阅读全文
posted @ 2017-07-24 11:52 walfy 阅读(208) 评论(0) 推荐(0)
摘要:模板题,不过好像有点问题,当a==1的时候,答案把一也算进去了,要减去 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #inc 阅读全文
posted @ 2017-07-24 10:24 walfy 阅读(138) 评论(0) 推荐(0)
摘要:很容易推出来的公式ans=n^(k-1)*k*sum 然后快速幂就好了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #inc 阅读全文
posted @ 2017-07-24 09:50 walfy 阅读(219) 评论(0) 推荐(0)
摘要:#include #include #include #include #include #include using namespace std; #define MAXN 9999 #define MAXSIZE 10000 #define DLEN 4 class BigNum{ private: int a[MAXSIZE]; //可以控制大数的位数 int l... 阅读全文
posted @ 2017-07-23 20:39 walfy 阅读(165) 评论(0) 推荐(0)
摘要:数据比较小时直接算,数据比较大时用公式1+1/2+...+1/n=inn+C+1/(2*n) ,C是欧拉常数0.5772156649 刚开始用的这个1+1/2+...+1/n=in(n+1)+C,结果一直wa。。。。 #include<map> #include<set> #include<cmat 阅读全文
posted @ 2017-07-23 20:24 walfy 阅读(457) 评论(0) 推荐(0)
摘要:这是一场爆0的比赛。。。。。。 第一题wa了20发,longlong改double再改unsigned long long还是wa,最后判断的时候改成除,边界设为1e19就过了 #include<map> #include<set> #include<cmath> #include<queue> # 阅读全文
posted @ 2017-07-21 19:25 walfy 阅读(206) 评论(0) 推荐(0)
摘要:唯一分解定理 先分解面积,然后除2,再减去面积%长度==0的情况,注意毯子不能是正方形 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstd 阅读全文
posted @ 2017-07-20 19:45 walfy 阅读(246) 评论(0) 推荐(0)
摘要:这题有两种解法,1是根据欧拉函数性质:素数的欧拉函数值=素数-1(可根据欧拉定义看出)欧拉函数定义:小于x且与x互质的数的个数 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<v 阅读全文
posted @ 2017-07-20 17:05 walfy 阅读(176) 评论(0) 推荐(0)
摘要:gcd裸题,不过输入要注意gets会tle,要用快速读入 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<ca 阅读全文
posted @ 2017-07-20 16:48 walfy 阅读(192) 评论(0) 推荐(0)
摘要:开场连wa三发A题,差点心态崩了,还好坚持打完了,一共A了三题 A题,判断能不能放第一个圆,能放的话,先手比赢 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> # 阅读全文
posted @ 2017-07-20 14:35 walfy 阅读(181) 评论(0) 推荐(0)
摘要:A水题,判断第一个,后面的全是0 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #incl 阅读全文
posted @ 2017-07-20 12:26 walfy 阅读(158) 评论(0) 推荐(0)
摘要:给一个凸包,要求逆时针排序,刚开始一直因为极角排序就是逆时针的,所以一直wa,后来发现极角排序距离相同是,排的是随机的,所以要对末尾角度相同的点重新排一次 #include<map> #include<set> #include<cmath> #include<queue> #include<sta 阅读全文
posted @ 2017-07-19 13:15 walfy 阅读(264) 评论(0) 推荐(0)
摘要:把每个三角形看成一个质点,坐标就是各自的重心, #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert 阅读全文
posted @ 2017-07-18 18:21 walfy 阅读(296) 评论(0) 推荐(0)
摘要:A水题,但是刚开始写的时候,不知道怎么样例过不了,所以就改写了一边,花了10多分钟才a #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstd 阅读全文
posted @ 2017-07-18 14:52 walfy 阅读(204) 评论(0) 推荐(0)
摘要:自己想了一个方法判断点是不是在凸包内,先求出凸包面积,在求由点与凸包上每两个点之间的面积(点已经排好序了),如果两者相等,则点在凸包内,否则不在(时间复杂度可能有点高)但是这题能过 #include<map> #include<set> #include<cmath> #include<queue> 阅读全文
posted @ 2017-07-17 20:43 walfy 阅读(705) 评论(0) 推荐(0)
摘要:暴力过了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> 阅读全文
posted @ 2017-07-17 15:32 walfy 阅读(196) 评论(0) 推荐(0)
摘要:用叉积求凸包面积 如图所示,每次找p【0】来计算,(叉积是以两个向量构成的平行四边形的面积,所以要/2) #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #inc 阅读全文
posted @ 2017-07-17 13:31 walfy 阅读(859) 评论(0) 推荐(0)
摘要:就是给一系列点,看这是不是一个稳定凸包 稳定凸包是指一个凸包不能通过加点来使它扩大面积,也就是说每条边最少有三个点 判断的地方写错了,写了两边循环,其实数组s已经排好了序,直接每三个判断就好了 #include<map> #include<set> #include<cmath> #include< 阅读全文
posted @ 2017-07-17 12:40 walfy 阅读(254) 评论(0) 推荐(0)
摘要:裸的极角排序,但是要把0,0放在第一个(话说这题题目真是巨长,废话也多。。。) #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> 阅读全文
posted @ 2017-07-16 20:27 walfy 阅读(213) 评论(0) 推荐(0)
摘要:就是求凸包的周长加以l为半径的圆周长,证明略 由于之前写过叉积,所以graham扫描算法不是很难理解 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #inclu 阅读全文
posted @ 2017-07-16 20:03 walfy 阅读(331) 评论(0) 推荐(0)
摘要:两边bfs,先一边找到从1到n的路径并记录下来,然后挨个标记,最后一边bfs找1能到达的点,比较一下就行了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #in 阅读全文
posted @ 2017-07-16 10:21 walfy 阅读(209) 评论(0) 推荐(0)
摘要:最近好像总是有点不想打,专题也刷不动,还是坚持这做了一场,虽然打到一半就没打了。。。(反正通常都只能做出两题) 感觉自己切水题越来越熟练了,然而难题还是不会做。。 A题,水,用vector存下来就行了 #include<map> #include<set> #include<cmath> #incl 阅读全文
posted @ 2017-07-15 16:00 walfy 阅读(149) 评论(0) 推荐(0)
摘要:有一棵树,找每个节点所能到达的最远距离是多少 dis[u][0]正向最大距离 dis[u][1]正向次大距离 dis[u][2]反向最大距离 先一边dfs求出每个节点的正向最大距离(就是向下)和次向最大距离,以及longest记录下当前节点的正向最大距离路径的子节点(为了第二遍dfs,判断这一条路是 阅读全文
posted @ 2017-07-15 11:22 walfy 阅读(165) 评论(0) 推荐(0)
摘要:第一题很水但是wa了一发,因为没考虑K前面是K的情况 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cass 阅读全文
posted @ 2017-07-14 21:27 walfy 阅读(112) 评论(0) 推荐(0)
摘要:基本全是水题 第一题水,不过有hack点,先增后不变再减 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<ca 阅读全文
posted @ 2017-07-14 16:11 walfy 阅读(162) 评论(0) 推荐(0)
摘要:判断最大的欢喜值,如果上司来了,直系下属就不来 如果子节点j不来那么dp[i][1]+=dp[j][0];如果子节点j来那么dp[i][0]+=max(dp[j][0],dp[j][1]);//因为j不来i也可以不来 递归的求子节点值 #include<map> #include<set> #inc 阅读全文
posted @ 2017-07-13 19:01 walfy 阅读(120) 评论(0) 推荐(0)
摘要:第一题水题,8分钟1a #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<i 阅读全文
posted @ 2017-07-13 16:02 walfy 阅读(115) 评论(0) 推荐(0)
摘要:这个裸题,滑动窗口求最大最小值,单调队列来两边,一次单调递增q[s]就是最小值,一次单调递减q[s]就是最大值 cin会超时,解除同步也没用。。。 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> 阅读全文
posted @ 2017-07-12 23:08 walfy 阅读(154) 评论(0) 推荐(0)
摘要:这一次又崩了,最后只a了一题(还是被hack后才发现的错误) 第一题水题,多用一个数保存2-1后的数,注意先用2的桌子,再用这个 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include< 阅读全文
posted @ 2017-07-12 22:11 walfy 阅读(140) 评论(0) 推荐(0)
摘要:给一系列并排的矩形,宽都是1,长不同,求最大的矩形(可被上述矩形覆盖)的面积 单调栈,栈中元素为每个值所在的位置,记录下从每个值大于当前值所能到达最远的左边和右边的距离,此时中间的值一定是最小,然后H*(R-L)即当前点所能覆盖的最大面积 #include<map> #include<set> #i 阅读全文
posted @ 2017-07-12 21:16 walfy 阅读(439) 评论(0) 推荐(0)
摘要:有一个数列,对于每一个数,求比它小的在他右边距离他最远的那个数和他的距离 用单调队列做,维护单调队列时可采用如下方法,对于每一个数,如果队列中没有数,则加入队列,如果队列头的数比当前数大,则舍弃该数 对于此题,可用两个队列来维护,一个保存值,一个保持位置,每次查询对值进行二分,然后到对应保持位置的队 阅读全文
posted @ 2017-07-12 21:09 walfy 阅读(295) 评论(0) 推荐(0)
摘要:很基础的单调队列 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<ioma 阅读全文
posted @ 2017-07-11 19:33 walfy 阅读(197) 评论(0) 推荐(0)
摘要:题目:http://acmoj.shu.edu.cn/problem/418/ 素数筛一边,二维sg先预处理出sg值,然后O(1)查询 1必胜,2必败 #include<map> #include<set> #include<cmath> #include<queue> #include<stack 阅读全文
posted @ 2017-07-11 13:14 walfy 阅读(214) 评论(0) 推荐(0)
摘要:先预处理出距离,然后判断是否可行,要注意判断是否在一条直线上时判断是在两侧还是一边(wa了四次) double型数据 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector 阅读全文
posted @ 2017-07-11 10:04 walfy 阅读(213) 评论(0) 推荐(0)
摘要:此类题是给定一个无向图,求所有生成树的个数,生成树计数要用到Matrix-Tree定理(Kirchhoff矩阵-树定理) G的度数矩阵D[G]是一个n*n的矩阵,并且满足:当i≠j时,dij=0;当i=j时,dij等于vi的度数 G的邻接矩阵A[G]也是一个n*n的矩阵, 并且满足:如果vi、vj之 阅读全文
posted @ 2017-07-10 15:22 walfy 阅读(167) 评论(0) 推荐(0)
摘要:多建一个根,连到每一个点,然后花费是建水井的钱 然后跑一边最小树形图即可,这题必定有解,因为可以从根开始到每一点,可以不用判无解的情况 #include<map> #include<set> #include<ctime> #include<cmath> #include<queue> #inclu 阅读全文
posted @ 2017-07-10 10:54 walfy 阅读(182) 评论(0) 推荐(0)
摘要:无定根的最小树形图,像网络流的超级源和超级汇一样加一个起点,用邻接表(n>1000) n<1000用邻接矩阵 #include<map> #include<set> #include<ctime> #include<cmath> #include<queue> #include<stack> #in 阅读全文
posted @ 2017-07-10 09:47 walfy 阅读(310) 评论(0) 推荐(0)
摘要:本来看数据用临界矩阵可能会超时,还是写了临界矩阵,结果1A了 模板的不能再模板 了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio 阅读全文
posted @ 2017-07-08 14:22 walfy 阅读(354) 评论(0) 推荐(0)
摘要:题目大意:给定一个有向图,根节点已知,求该有向图的最小树形图。最小树形图即有向图的最小生成树,定义为:选择一些边,使得根节点能够到达图中所有的节点,并使得选出的边的边权和最小。 题目算法:朱-刘算法(即由中国人朱永津和刘振宏共同发明的算法)。 算法步骤如下: 1.判断图的连通性,若不连通直接无解,否 阅读全文
posted @ 2017-07-08 13:36 walfy 阅读(482) 评论(0) 推荐(0)
摘要:第一题直接算就行了为了追求手速忘了输出yes导致wa了一发。。。 第二题技巧题,直接sort,然后把最大的和其他的相减就是构成一条直线,为了满足条件就+1 #include<map> #include<set> #include<cmath> #include<queue> #include<sta 阅读全文
posted @ 2017-07-07 15:54 walfy 阅读(146) 评论(0) 推荐(0)
摘要:A水题,数论都算不上吧,分解一下就行了,看分解的书是不是比k大 B求奇数和,wa了四发。。先把大于0的全部加起来,如果奇数直接输出,如果偶数就找最小的大于0的那个奇数和最大的那个小于0 的奇数,比较和减大于0 和加小于0 谁大就输出谁 复杂度O(n) #include<map> #include<s 阅读全文
posted @ 2017-07-07 15:05 walfy 阅读(162) 评论(0) 推荐(0)
摘要:第一题水题但是wa了一发,排队记录下收到的25,50,100,看能不能找零,要注意100可以找25*3 复杂度O(n) 第二题贪心,先找出最小的花费,然后就能得出最长的位数,然后循环对每个位上的数看能不能加上剩余的油漆比现在这数大,输出即可 复杂度O(10n) By 2016326603147, c 阅读全文
posted @ 2017-07-07 14:24 walfy 阅读(179) 评论(0) 推荐(0)
摘要:自适应simpson积分公式 通过二分区间递归求simpson积分 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #inclu 阅读全文
posted @ 2017-07-06 16:13 walfy 阅读(219) 评论(0) 推荐(0)
摘要:裸题,上模板就行,注意j ! = k #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #in 阅读全文
posted @ 2017-07-05 20:04 walfy 阅读(173) 评论(0) 推荐(0)
摘要:先求一遍最小生成树,然后遍历所有边,如果这条边在最小生成树中就直接减去这条边的距离,如果不在最小生成树中,那么就构成了一个环,此时需要减去最小生成树中最大的边,即求次小生成树时的maxx, 有一点要注意当求maxx最大值时j!=k,虽然不知道原理是什么。。。。如果有大佬知道求告知 好像求次小生成树时 阅读全文
posted @ 2017-07-05 17:21 walfy 阅读(193) 评论(0) 推荐(0)
摘要:次小生成树求法:例如求最小生成树用到了 1、2、4这三条边,总共5条边,那循环3次的时候,每次分别不用1、2、4求得最小生成树的MST,最小的MST即为次小生成树 如下代码maxx即求最小生成树时求得的最大边 #include<map> #include<set> #include<cmath> # 阅读全文
posted @ 2017-07-05 14:38 walfy 阅读(183) 评论(0) 推荐(0)
摘要:模板题>.<当初学了一波又忘了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<iomanip> #inclu 阅读全文
posted @ 2017-07-04 18:58 walfy 阅读(174) 评论(0) 推荐(0)