自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

原创 如何避免360开机启动及自动弹窗

先说教程下载软件:https://pan.baidu.com/s/1kWLREFP 密码:9yqv(程序员版)    :https://pan.baidu.com/s/1o9DEcno  密码:4b9h(普通版)当然,害怕软件有病毒的可以自己去编译,源码在此: https://paste.ubuntu.com/26366578/ 建议使用vc++2015及以上版本编

2018-01-12 17:34:54 3103

原创 博客搬家

有关神经网络和深度学习的文章会发布在https://www.cnblogs.com/shensobaolibin/csdn的博客可能只会更新一些有意思的acm题目了

2017-11-18 11:11:47 265

原创 数位dp模板

数位dp其实就是记忆化dfs也没什么好说的现在看一个题,让你求出所有l到r的圆数,圆数就是这个数字转化成2进制后0的个数比1的个数多开始写错了,就是没注意前导0的问题dfs一般要传4个参数,一个是第几位,一个是状态,一个是需不需要上界,一个是有没有前导0#include #include #include #include #include using namespac

2017-10-24 15:28:30 365

原创 Lis模板

#include #include #include #define maxn 1000using namespace std;int ans[maxn],a[maxn],len;int Search(int data){//我们要找到的是最小的那个>=mid的ans的位置 int l=0,r=len,mid; while(l<r) {

2017-10-24 14:19:30 398

原创 差分约束模板

差分约束一般是用来求最大值最小值问题的那么就分为两个问题求最小值,把所有不等式化为>=然后求最长路求最大值,把所有不等式化为如果碰到然后就是单纯的图论题了现在来看poj1716DescriptionAn integer interval [a,b], a Write a program that: find

2017-10-24 12:55:52 362

原创 莫队算法模板

codeforces 617E题意:给你n个数,有m个询问,问[l,r]之间有多少对i和j满足a[i]^a[i+1]^...^a[j]=k;这个题目就是我先求出前缀异或和然后i到j的异或和就是a[j]^a[i-1]假设我们已知st到en的答案(ans),然后我们开一个Map数组,Map[i]表示st到en中前缀异或和为i的个数,Map也是已知的现在我们要加上一个点,st-1或者

2017-10-23 20:33:49 293

原创 线段树模板

#include #include #include #include #define maxn 1000#define inf 1000000using namespace std;class segtree{public: int val,addmark;};segtree segt[maxn<<2];int a[maxn];void build(int

2017-10-22 12:54:39 262

原创 再看区间dp

区间dp就是我知道区间长度为len-1的所有状态,然后我可以通过小于len的的状态转移到区间长度为len的状态一般是在外层循环遍历len,内层循环遍历起点来做的但是这次做了一个很特别的题目题目描述:  在x轴上有n个客人叫外卖,每个顾客因为追的番更新进度不同,所以在等外买的时间里每秒增加的愤怒值不同。给出客人和餐厅的位置,以及客人每分钟增加的愤怒值,还有快递小哥的行走一

2017-10-17 15:27:56 311

原创 凸包的判定及将凸包中的点逆时针存在数组中

数据结构:struct Point { double x; double y; Point(double a = 0, double b = 0) : x(a), y(b) {} friend bool operator < (const Point &l, const Point &r) {//以y为第一优先级,x为第二优先级

2017-10-15 18:57:44 334

原创 再看斜率优化打牌

emmmm,马上要比赛了,最近正在复习打牌又看了遍斜率优化dp,感觉对他的理解上了一个新的高度呐斜率优化dp可以优化掉一个n一般来说,如果要求一个状态时要遍历前面已经求过的所有状态的话,就可以考虑使用斜率优化再求第k个状态时对于前面的所有状态如果k2比k1更优就有Y(k2)-Y(k1)X(k2)-X(k1)f(k)我们就可以使用斜率优化这里我们要保证

2017-10-10 20:26:41 323

原创 KMP模板

本来想直接copy匡斌的模板来着的但是匡斌的模板会RE,next的原因,现在就稍微改了改拿过来了#include #include using namespace std;const int N = 1000002;int Next[N];char S[N], T[N];int slen, tlen;void getNext(){ int j, k; j

2017-10-02 09:47:35 315

原创 最小费用最大流模板

#includeusing namespace std;#define INF 0x3f3f3f3ftypedef long long LL;const int M=2010;//边数注意啦,我们这东西是有逆向边的,所以边数要×2哦const int N=510;//点数struct edge{ int to; int next; int cap;

2017-09-30 20:37:15 188

原创 Tarjan强连通分量模板

#include #include #include #include #include #define maxn 100100#define maxm 500100#define inf 0x3f3f3f3fusing namespace std;struct Edge{ int next,en;} ;Edge edge[maxm];int head[ma

2017-09-27 20:46:59 356

原创 单纯最大流(两个给定节点的最小割)问题的最优解法

运用了各种不明所以的优化反正我们会板子就行啦然后再说几点最大流的用处点i和点j的最大流其实是等于把点i和点j分开的最小割的你想啊,从i到j有那么多流量对吧如果我想要让i一滴水都留不到j那么我至少要割掉最大流那么多的流量吧,具体证明。。。。我忘了,反正我等弱鸡队伍用个板子就行还有一个用处是在忘了那一场的网络赛上看到的就是求两个点的最小割的最小要割的边的

2017-09-20 18:50:30 446

原创 HDU6203 补题LCA复习+dfs序

这个题目其实算是贪心吧,感觉自己贪心有点菜,这几天要把贪心练一下了建树,dfs什么的就不说了,这里主要讲下思路就是建完树后,给你两个点然后求出他们的lca,将这两个点u,v和lca,dlca(lca点的深度)存在一个结构体数组中然后将这个数组按深度从大到小排序接着遍历这个数组每次看u,v有没有访问过,如果有就不管,如果没有,就将他们的lca点拿掉并将lca点的所有子节点记为

2017-09-14 20:33:31 457

原创 HDU 6199(DP)补题+一个超级有用的滚动数组思想

恩,这个题目开始想着应该不能用dp来写,因为后面的状态对前面的状态有影响然后emmmm,只有后面的状态对前面的状态有影响,这个。。。有点背锅了现在说正解dp[p][i][k]就是人p,在第i个宝石(这个宝石未取到)至少要取k个的差值那么我们的状态转移方程就出来了假设p=1代表Alice       p=0代表Bobdp[1][i][k]=max(dp[0][i+

2017-09-12 17:12:30 319

原创 我对不起党,对不起国家,对不起人民HDU6201 补题(disj)

这个题目其实特别傻逼但是因为数组开小了一直Tmmp!其实就是建一个超级源点对于每个点我们建一条有向边连接超级源点源点和这个点边权为a【k】然后该怎么建图就怎么建图跑一个最短路,求出超级源点到每个点的最短路,那么这个就是我从别的地方买,到这个点卖,买入价格+路费的最小值然后emmmmm。。。。。再不会就别丢人了,退群吧下面附上自己的1sAC代码,这个。。。。听说还有大

2017-09-11 14:07:05 989

转载 大家一起来数二叉树把

长沙理工大学第十二届ACM大赛 K.大家一起来数二叉树吧【Dp】标签: 长沙理工大学第十二届ACM大赛2017-09-03 19:52 27人阅读 评论(0) 收藏 举报 分类:思维(599)  dp(323) 版权声明:0.0小白有写的不好不对的地方请指出~目录(?)[+]题目描述

2017-09-05 19:59:07 380

原创 对DFS序的理解

其实dfs序这个东西就是可以把找一个节点的所有子节点的问题转换为一段区间中的问题的一种方法而区间中的问题,啧啧,线段树,主席树什么的搞一搞就好了哇我们dfs的时候,开一个全局变量cnt,然后每做一次dfs,cnt++那么这个节点的dfs序就是第一次经过这个节点的cnt对于每个节点,他都有两个东西,一个是第一次访问的cnt,因为dfs会回溯嘛,那另一个就是回溯时的cnt那么dfs

2017-09-03 19:00:08 254

转载 动态建线段树,hdu6183,参考杰少的博客

我的代码不知为什么t掉了,这个等杰少回来再去问问他先把我t掉的代码放在这里,主要是学一下动态建树的思想这个是非常省空间的这题目主要思路就是对每个颜色建一颗线段树,保存其y1,y2,范围内的点到y轴的最小距离#include #include #include #include #define inf 0x3f3f3f3fusing namespace std;st

2017-09-02 18:09:05 494

原创 广西邀请赛PD(dp+矩阵加速)

这个题目也是很不容易啊,一直坚持不懈的推了一天,终于自己写出来了题意很简单这里就不说了其实我们发现对于每个n只有5种结尾的情况,所以开始就想从这5个情况中找突破口结果发现要么会算重要么会算少然后就找了16种状态,就是最后一列的状态,结果16个dp方程把我推得晕头转向的最后想到,我们关心的就是把最后那五种情况的和而已而这五种情况可以由那16种情况中的五种推出来,然后慢慢推,发

2017-09-01 12:29:31 334

原创 玲珑杯Round20PE

#include #include #include #include #include #include #define maxn 400100using namespace std;struct Data{ int val,id;};struct Tree{ int l,r,sum;};Data a[maxn];Tree t[maxn*10

2017-08-29 15:00:25 214

原创 主席树静态查找区间第k小模板(并没有杰少详细)即讲解

#include #include #include #include #include #include #define maxn 400100using namespace std;struct Data{ int val,id;};struct Tree{ int l,r,sum;};Data a[maxn];Tree t[maxn*10

2017-08-29 14:55:00 345

转载 A*求单元第k短路的模板

#include #include #include #include #include #include #include #include #include #include #include #include #define PI acos(-1.0) #define mem(a,b) memset(a,b,size

2017-08-25 16:51:09 185

原创 求最短路即次短路模板,一条边可以重复走的HDU6181

#include#include#include#include#include#include#include#include#define MAXSIZE 100010#define INF 1e18#define LL long longusing namespace std;//int ans,n,k,a[MAXSIZE],dist1[MAXSIZE],dist

2017-08-25 13:56:10 501

转载 卡特兰数及其应用

4对括号有多少种可能的合法匹配方式?n对括号呢?此题是卡特兰数的一个通常应用,相似的还有出栈顺序等。关于卡特兰数的具体内容,请参阅百度百科或Wiki.http://baike.baidu.com/view/2499752.htm 网络上可以搜到很多相关的题目和解答,但是鲜有易懂的推导过程。这里记录一种推导过程如下: 结论:对于n对括号,合法的排列共有C(n,2n) -

2017-08-21 19:37:45 372

原创 数位dp 求l-r(10进制) 在k进制中有多少个回文数的模板

#include #include #include #include using namespace std;#define LL long longLL l, r;int a[66];LL dp[66][66][40];LL dfs(int len, int l, int r, bool lim, bool ok,int k)//ok表示是回文串,k表示k进制{

2017-08-20 14:43:01 1075

转载 第一类,第二类Stirling数,Bell数模板 来自(http://blog.csdn.net/sr_19930829/article/details/40888349)

[组合数学] 第一类,第二类Stirling数,Bell数标签: ACM算法组合数学Stiring数2014-11-07 10:32 2176人阅读 评论(0) 收藏 举报版权声明:本文为博主原创文章,未经博主允许不得转载。一.第二类Stirling数        定理:第二类Stirling数S(p,k)计数的是把p元素集合划分到k个不可

2017-08-17 20:45:07 203

原创 斯大林数,k个物品,分到m种不同的盒子里,有几种分法(保证没有空盒子)

long long s[maxn][maxn],c[maxn];//存放要求的Stirling数const long long mod=1e9+7;//取模void init()//预处理{ memset(s,0,sizeof(s)); s[1][1]=1; for(int i=2;i<=maxn-1;i++) for(int j=1;j<=i;j+

2017-08-17 20:39:44 737 2

原创 最小割模板

其实最小割就是把一个图分为两部分的最小花费然后,因为时间复杂度是o(n^3)所以用邻接表存就好了#include #include #include using namespace std;#define mem(a) memset(a, 0, sizeof(a))const int maxv = 500;const int inf = 0x3f3f3f3f;int

2017-08-14 16:05:02 472

原创 最小费用最大流模板

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define N 1000#define INF 1000000

2017-08-14 15:16:18 284

原创 最大流,kuangbin的最牛逼的模板

const int MAXN=20010;//点数的最大值const int MAXM=880010;//边数的最大值const int INF=0x3f3f3f3f;struct Node{ int from,to,next; int cap;}edge[MAXM];int tol;int head[MAXN];int dep[MAXN];int gap[MA

2017-08-14 14:53:03 1845 1

原创 最大流DFS(EK)算法模板

#include #include #include #include #include #include #define maxn 1000#define inf 0x3f3f3f3fusing namespace std;struct edge//数据结构{ int en,flow,rev;};vector v[maxn];int vis[maxn];

2017-08-14 13:45:13 659

原创 codeforces Round428PC

题意就是给你一棵树,算他从根走到叶子的期望这个题目给了我一个很重的教训,就是我在写这道题的时候把求期望算成了求平均值然后就没写出来,接着就心态爆炸了#include #include #include #include #include #include #define maxn 100100using namespace std;struct EDGE{

2017-08-13 13:28:53 247

原创 HDU6015(思维题)

题目意思就是给你一颗树,Bob可以在树上染色,就是选择一个点,并且将其周围的点涂黑Alice可以将树上的一个点涂白Bob还可以做一个操作,就是剪枝,剪枝之后影响的只是涂黑的操作,就是比如我涂一个点本来可以把周围的点全部染黑的,现在就是减掉的部分就不能染黑了最后,当树全部都被涂完的话,我们就找树上有没有白点,如果有那么Alice赢了,否则就是Bob赢那么题解就是判断,分m

2017-08-11 16:46:36 379

原创 Mark一下读入一行的代码

getchar();        c=getchar();        while(c!='\n')        {            if(c==' ')                {Max=max(Max,p);p=0;}            else            if(c>='A'&&c            c=getcha

2017-08-09 13:06:14 240

原创 HDU6092(动态规划思想)

其实咱们都做过给你k个数然后求这k个数有多少个子集的和等于k的题那么现在就是反过来了那么做法也是很神奇的对于序列a,我的1的个数就是a[1]的个数那么如果我去掉所有的1,并且维护a序列的性质不变,那么2的个数就是a[2]那么问题来了,如何去掉所有的数k后维护a的性质不变呢解决方法就是我们一个一个的去掉k现在我去掉一个k后由于我知道1-k-1的数全部都被去掉了那么

2017-08-08 19:59:03 450

原创 EK(BFS)求最大流的算法模板(邻接表)

#include #include #include #include #include #include #define inf 0x3f3f3f3fusing namespace std;int Map[300][300],path[300];int bfs(int st,int en){ queue q; int flow[300]; mems

2017-08-07 15:36:30 397

原创 第三场多校 03 HDU6058

这个题目主要的思路是对的就是计算每个数字出现的次数然后我发现我们可以对每个数字,往左找k个比他大的,往右找k个比他大的然后他们的位置之差乘起来就是出现的次数等下会补个图详细解释下然而如果我们找k个比他大的话,线性找的话,时间复杂度会爆炸所以我们就想从最小的开始找,然后找一个就把他从数组中删去那么对于下一个数,他的左右k个就是k个比他大的数了所以我们要保存每个

2017-08-02 14:36:38 251

原创 zoj3537 凸包,最优三角形,区间dp

昨天本来只是想刷个区间dp而以,然后碰到了这题然后就用一下午学了凸包的判定和最优三角形然后今天花了三个小时把这题AC了,也强化了自己对凸包,最优三角形和区间dp的理解题意就是给你一个点集,如果这个点集中的点不能全部构成一个凸包的话,就直接输出一句话否则就输出能把这个凸包切成三角形的最小花费,算花费的公式已经给出来了#include #include #include #i

2017-07-31 16:08:44 258

空空如也

空空如也

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

TA关注的人

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