模板
文章平均质量分 60
hi_just_do_it
向上吧少年!
展开
-
几何 两元相交的面积计算问题 HDU 5120 Intersection(几何模板)
这道题只要是知道两圆相交的面积怎么算,就能很快a出来,几何模板。原创 2016-09-17 09:44:41 · 290 阅读 · 0 评论 -
线段树复习--[kuangbin带你飞] 线段树
温故知新,现在代码水平好了一些,重新刷kuangbin的专题也不那么费劲了。争取理解的透彻一些吧。区间更新模板:LL num[maxn],sum[maxn<<2],mark[maxn<<2];void push_up(int root) { sum[root] = sum[root<<1]+sum[root<<1|1];}void push_down(int root,int cl,in原创 2017-07-11 12:51:19 · 499 阅读 · 0 评论 -
双联通分量---点双联通,边双联通 (模板)
转载自@vufw_795定义:对于一个连通图,如果任意两点至少存在两条点不重复路径,则称这个图为点双连通的(简称双连通);如果任意两点至少存在两条边不重复路径,则称该图为边双连通的。点双连通图的定义等价于任意两条边都同在一个简单环中,而边双连通图的定义等价于任意一条边至少在一个简单环中。对一个无向图,点双连通的极大子图称为点双连通分量(简称双连通分量),边双连通的极大子图称为边双连通分量。这篇博客就转载 2017-07-07 10:47:27 · 2416 阅读 · 0 评论 -
2017杭电ACM集训队单人排位赛 - 2 -1002 地狱飞龙 (辛普森公式求积分)(模板)
题干: 最近clover迷上了皇室战争,他抽到了一种地狱飞龙,很开心。假设地域飞龙会对距离为d的敌人每秒造成k/d2k/d^2伤害。假设地域飞龙位于坐标轴原点,以每秒v1的速度向y轴正方向移动,敌人在(x,0)的位置,以每秒v2的速度向x轴负方向移动。问,敌人至少有多少血量永远才不会被地狱飞龙喷死。(伤害是连续造成的,不是一秒一秒间断的)题解: 我们根据题意,设时间为t,x1为飞龙距离x轴的距离原创 2017-07-07 09:00:14 · 769 阅读 · 1 评论 -
图论---求割点,求桥(tarjan) (模板)
无向图求桥和求割点用的是同一个做法。 具体的原理可以看大白书和 @泳裤王子,无向连通图的割点、桥 下面是代码:#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <stack> #include <bitset> #i原创 2017-07-04 15:32:32 · 912 阅读 · 0 评论 -
[kuangbin带你飞]专题十 匹配问题 F - Rain on your Parade(二分图匹配)(HKmatch)
还是二分图匹配,但是需要用到HKmatch优化。HKmatch,多点同时开始找广增路,在稀疏图的时候提高了效率。原创 2016-12-22 09:17:50 · 270 阅读 · 0 评论 -
[kuangbin带你飞]专题十 匹配问题 (二分图最大匹配)(二分图染色)(模板)
二分图的最佳完美匹配,用到的是KM算法(匈牙利算法),下面贴出模板原创 2016-12-01 23:24:14 · 619 阅读 · 0 评论 -
HDU 3555 D - Bomb(数位dp)(模板)
这就是一道非常非常基础的数位的dp,就是求一个数是否包含49.有两个做法,一个是当求到该数包含49的时候就continue(跳过),这样最后求出来的是不包含49的个数,用n减去sum就是答案。原创 2016-10-31 11:30:37 · 350 阅读 · 0 评论 -
CodeForces 55D A - Beautiful numbers(数位dp)(模板)
这几天在学数位dp,今天终于差不多弄清楚了数位dp的原理。数位dp就是把一个数按位从最高位往前递归,按不同的状态来求个数,用dp存下求过的状态,下次就可以直接调用,不用再递归去找,这样就可以节省时间。原创 2016-10-31 10:15:31 · 272 阅读 · 0 评论 -
[kuangbin带你飞]专题六 最小生成树 (prim)(kruskal)(模板)
今天刚学了最小生成树的算法,发现prim的算法和dijkstra算法几乎差不多,就是更新的时候是更新边权,不是起点到当前点的值,还有一个按边权排序再遍历加建树的kruskal算法。原创 2016-11-08 22:47:02 · 397 阅读 · 0 评论 -
[kuangbin带你飞]专题十五 数位DP K - Balanced Numbers (数位dp)(进制转换)
这道题大意是当一个数每一位奇数的个数为偶数,每一位偶数的个数为奇数的时候,称这个数为 balanced number,所以对于 1~9 的数字,要保存三个状态:个数为0,个数为偶数,个数为奇数。这里就可以用3进制来保存,3^10大概不超过60000,所以用dp[20][60000]来保存状态;原创 2016-11-07 22:38:09 · 337 阅读 · 0 评论 -
POJ 2481 Cows (树状数组)
这道题还是要先排好序,注意题目的条件,X是从小到大,Y是从大到小,这样就可以将X1 <= X2 && Y2 <= Y1 的范围排好了。注意这里的Y2-Y1 != X2 - X1才可以!!所以要稍微处理一下。难过这里WA了N发,还是做题不够,老是想到复杂的想不到简单又方便的。原创 2016-10-01 11:05:10 · 206 阅读 · 0 评论 -
2016年中国大学生程序设计竞赛(合肥) 题解小结 1001.传递 1003.朋友 1005.扫雷
开始听说这场比赛还比较难,但是做了以后感觉其实并不难,只不过是自己太菜了~基本上都是用不到什么算法的题目前面两道水题还卡了一会,还是室友找到了错误。总结了一下就是能不优化就不优化,没必要的优化就可能会错。无脑暴力就好了。原创 2016-11-06 10:31:30 · 521 阅读 · 0 评论 -
POJ 3252 E - Round Numbers(数位dp)(模板)
题目大意是:"Round Number "被称为其二进制形式中0的个数比1的个数多。求[x,y]区间内“Round Number”的个数。这道题看起来难,其实理解了就简单了,就是一个二进制的数位dp,只要转化的时候直接转化成二进制,然后记录每个数的1和0的个数,最后输出和就行了原创 2016-11-03 17:05:54 · 274 阅读 · 0 评论 -
ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛 - C A Simple Job (模拟)(multiset)
map,set 这些STL的数据结构函数还是很强大的。这道题只要把符合格式的词组提取出来,存进SET里面,最后count下重复最多的词组就好了,set已经安字典序帮你排好了。原创 2016-09-25 10:44:45 · 673 阅读 · 0 评论 -
求逆序数 归并排序 (模板)
之前不知道逆序数是什么,今天才了解了一下,主要朴素的方法是n^2的,所以可以用归并排序,线段树还有数组数组三种方法来做。先学了归并排序的做法,发现还是挺简单的。~~原创 2016-09-19 12:02:55 · 251 阅读 · 0 评论 -
HDU - 1255 O - 覆盖的面积 (扫描线)
题意: 给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积. ps:之前自己看的一个模板,覆盖一次的是挺简单的,但是求两次以上就要改,索性贴个别人的比较方便的代码。模板:#include<iostream> #include<string> #include<cstdio> #include<cstring> #include<queue> #include<map>转载 2017-07-19 15:36:53 · 254 阅读 · 0 评论