自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yeleng的博客

记录各种算法与想法以便自己更好的成长

  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

原创 D、Vitya and Strange Lesson(字典树模版)

很多二进制关于异或求最值的问题,都可以转换为字典树来求,然后在字典树上往最左边或者最右边跑,使得结果达到最值。这题就每次异或改变的值可以当作改变每次异或的查询使得字典树不变。然后用num(不计算重复)来计算每个分支里面的数的个数,如果数满了就进入到另外一个分支(使得绕过所有最小值的最小值)然后当res=0的时候,也就是满足这个分支里没有任何数,那么就不再加任何数了#include

2017-08-30 23:51:31 581

原创 xdoj 1234: 尧老师要教孩子玩球球

一场训练赛里的裸状压dp,赛时没时间看,被自己代码变量输入时输反调了很久很久的bug,话说以后变量名得好好设置了。赛后补题看了一下数据范围,n但是这里有一个优化,就是对于如果放了4个球,枚举的集合S不能从0到1对于集合S,枚举全部大小为i的子集comb=(1<<i)-1; while(comb<1<<n){ x=comb&-comb,y=co

2017-08-29 21:38:46 423

原创 poj 1741 点分治

点分治就是在树上跑分治。这个题是求树上两两距离小于K的点对有多少.可以定义length[i]为i点与根结点的距离。那么对于其不在同一个根儿子子树的点,这样可以全部计算出来了,现在就差每个子树里的点。也就是说,对于这个根,经过其的点的路径全部算出来了。此时可以把这个根从图中删掉,那么再递归进行处理后面的根,那么得到的结果即可。每次都寻找重心来进行分治,这样可以使得复杂度为 nlo

2017-08-29 19:44:29 193

原创 xdoj 1227 Godv的数列(lucas,扩展lucas,中国剩余定理模版)

首先lucas定理是指对于一个Lucas(n,m,p)=C(n%p,m%p)*Lucas(n/p,m/p,p)(p是质数)解决组合的取模问题(解决mod的数字过大问题,排列取模可不能随便取)需要注意的是对于lucas,需要计算出0-n,0-m的可以计算的全部组合,包括C(0,0)然后如果取模对象p不是质数,那么可以用中国剩余定理来合,也就是分别如1001,对每个C(n,m)都分解成对

2017-08-29 11:54:11 646

原创 石子合并(四边形优化第一题)

满足两个性质 1、区间包含的单调性:如果对于 i≤i'&lt;j≤j',有 w(i',j)≤w(i,j'),那么说明w具有区间包含的单调性。(可以形象理解为如果小区间包含于大区间中,那么小区间的w值不超过大区间的w值)2、四边形不等式:如果对于 i≤i'&lt;j≤j',有 w(i,j)+w(i',j')≤w(i',j)+w(i,j'),我们称函数w满足四边形不等式。(可以形象理解为两...

2017-08-28 00:20:30 399

原创 kuangbin网络流题目POJ3436,一波小专题

1、POJ 3436题意是真的迷,开始很难理解。就是给一堆工厂,每个工厂加工的零件方法不同,工厂可以把如010加工成111,每个工厂有其的加工速度,问如何加工可以使得加工的数量,加工完全就是111的结果。就网络流裸题,建立一个s连接到全部000的点,然后每个点枚举其可以过去的点,然后结果为111的点连接汇点,直接跑一次dinic就得出最大结果了。这里需要注意的是初始化p为-·,不然

2017-08-27 16:23:14 508

原创 HDU 2899 Strange fuction(三分模版)

对于一个x变量满足,二分是满足单调性找到离其最近的值。而三分就是一个凸函数,满足某个点离结果最近,其他两端结果都是递增那么对于一个范围left1,right1,可以二分mid1=(left1+right1)/2,mid2=(mid1+right1)/2.这样如果mid2&gt;=mid1那么显然答案在区间left1,mid2之间(因为mid1的结果比较小)然后反之一样,求最小值,下...

2017-08-27 12:29:00 216

原创 2017 ACM Amman Collegiate Programming Contest

~这个队伍第一次组队赛是ccpc网赛,我全场梦游,由于我菜得抠脚,so导致打得跟什么一样,。。然后这波cf是第二次组队赛,感觉还可以,虽然我...再次全场梦游,感觉自己一打组队赛就很迷,总是会想跟队友讨论,看来有时候自己写一发会靠谱些就F、G、K题有意义,其他的队友都版切了。F、Cooking Time给一个冰箱,然后需要拿n个数字为ai的蛋糕,可以放k种蛋糕在冰箱外(下次可以直接

2017-08-26 23:24:18 774

原创 O(N)的组合模版 HDU6114

通过预处理出全部数字的阶乘N[i],然后预处理出它们的逆元。方法就是求出N!的逆元,然后从后向前推via[N-1]=via[N!]*v;然后就可以求出组合了hdu6114验证模版#include #include #include #include #include #include #include using namespace std;const int L=

2017-08-15 22:50:32 281

原创 HOJ 2634 最大权闭合子图

最大权闭合子图指的是对于n个点,选择每个点都必须选择其子结点,然后其子结点连接过去的箭头的全部点也必须选,每个点有其自己的权值,有正也有负,问如何选子图可以使得权值和相加最大。就有一个算法,把所有点权值为正的相加为sum,然后建立一个源点s,连接全部权值为正的点,再建立一个汇点,由权值为负的点指向,跑一遍最大流(最小割)sum-最大流结果=最大权闭合子图从源点s向每个正权点连一条容...

2017-08-15 00:45:20 322

原创 splay的模版

#include #include #include #include using namespace std;#define MAXN 100010struct Node{ int key, sz, cnt; //cnt表示结点值为key的结点的数量 Node *ch[2], *pnt;//左右儿子和父亲 Node(){} //给Node函数赋值。 N

2017-08-11 16:17:07 262

原创 后缀数组模版O(N*2个log)求Sa[i]+字符串查找

Sa[i]指的是以后缀的形式排序,Sa[0]表示排在第一个的下标,还需丢入S中去查

2017-08-10 17:43:25 559

原创 分治,在平面上找距离最近的两个点

#include #include #include #include #include #include using namespace std;const double eps = 1e-8;const int INF = 0x7fffffff;int n;struct Point{ double x,y;}p[200000+5];Point temp[20

2017-08-09 00:25:39 4222

原创 XDOJ 1181

晚上写了一发主席树回忆了一下。wa点在线段树求和的l1和l与r1和r看错地方了,直到看得眼睛痛了才发现。#include #include #include #include #include using namespace std;const int maxn=1e6+7;int cnt;struct ttt{ int l,r,sum;};int root[maxn];

2017-08-06 23:51:05 303

原创 LCA模版,用倍增的思想

poj 2586模版#include #include #include #include using namespace std;//#pragma comment(linker, "/STACK:102400000,102400000") //不需要申请系统栈const int N = 40010;const int M = 25;int dp[2*N][M]; //

2017-08-06 19:18:37 186

原创 等比求和模版,下标从1开始

ll sum(ll p,ll n) //递归二分求 (1 + p + p^2 + p^3 +...+ p^n)%mod{ //奇数二分式 (1 + p + p^2 +...+ p^(n/2)) * (1 + p^(n/2+1)) if(n==0) //偶数二分式 (1 + p + p^2 +...+ p^(n

2017-08-05 00:21:45 378

原创 欧拉函数

欧拉函数:从1开始到n与n互质的数的个数(没要求是其因子)。单次求欧拉函数的O(根号N)做法int phi(int x){ int ans = x; for(int i = 2; i*i <= x; i++){ if(x % i == 0){ ans = ans / i * (i-1); while(x % i

2017-08-04 16:14:48 267

R语言的简单使用

R语言的简单使用。R是一种可编程的语言。作为一个开放的统计编程环境,语法通俗易懂,很容易学会和掌握语言的语法。而且学会之后,我们可以编制自己的函数来扩展现有的语言。这也就是为什么它的更新速度比一般统计软件,如,SPSS,SAS等快得多。大多数最新的统计方法和技术都可以在R中直接得到。

2018-08-20

Svm支持向量机详细内容

SVM学习问题可以表示为凸优化问题,因此可以利用已知的有效算法发现目标函数的全局最小值。而其他分类方法(如基于规则的分类器和人工神经网络)都采用一种基于贪心学习的策略来搜索假设空间,这种方法一般只能获得局部最优解。SVM支持向量机,好东西啊,大家好好学习

2018-08-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除