摘要: // Vijos / 题库 / 水王争霸 sort在结构体排序中,可自定义。之前也知道可自定义,但没想到范围应用这么广!!! 这道题,长见识了。刚开始自定义排序,目前还没找到错误,但就是没过。。。 #include<iostream> #include<queue> #include<cstring 阅读全文
posted @ 2020-04-14 22:56 SuccessfulRoad 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 链接:https://ac.nowcoder.com/acm/contest/5026/A来源:牛客网 题目描述 你是一个勇士,现在你准备去森林刷毛球怪,你有两个属性(血量,攻击力),毛球怪也有这两个属性。当你遭遇一只毛球怪时你们会进入战斗,然后你和毛球怪轮流攻击(你先手),每次使对方的血量减去自己 阅读全文
posted @ 2020-04-12 23:16 SuccessfulRoad 阅读(222) 评论(0) 推荐(0) 编辑
摘要: void dfs(int u)//判断是否是二分图 { for(int i=head[u];i;i=edge[i].nx) { v=edge[i].to; if(!dff[v]) dff[v]=0-dff[u],dfs(v);//dff[u]=1,dff[v]=-1,代表两个在不同的集合 if(df 阅读全文
posted @ 2020-04-06 09:48 SuccessfulRoad 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 推荐博客:https://www.cnblogs.com/ivanovcraft/p/9019090.html 老实说,这篇博客写的很全,看完应该就会了; 核心代码喽~~int df[maxn],idnew[maxn],son[maxn],fa[maxn],top[maxn],siz[maxn],d 阅读全文
posted @ 2020-03-31 16:41 SuccessfulRoad 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 递推 无后效性,最优子结构 -》状态转移方程 -》 注意初始化 (边界值) -》注意枚举顺序(完全背包第二维从小到大,01背包从大到小,区间先长度再左) LIS接上之前最优解,LCS,背包问题(01背包,完全背包,分组背包,依赖性问题) 状态压缩,树形dp 看过最好的一篇讲解动态规划的 https: 阅读全文
posted @ 2020-03-23 21:51 SuccessfulRoad 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 详细讲解博客,推:https://www.cnblogs.com/xenny/p/9739600.html for(int i=x;i;i-=i&-i)//树状数组求前缀和s[x]; s+=c[i]; 区间修改 for(int i=x;i<=n;i+=i&-i)//a[x]增加k,c[]数组修改 c 阅读全文
posted @ 2020-03-21 15:18 SuccessfulRoad 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 线段树,每个节点都代表一个区间,左儿子和右儿子分别是父亲的左右子区间 线段树 线段树初始化 void build(int pos,int l,int r) { if(l==r) {tree[pos]=a[l];return;} int mid=(l+r)>>1; build(lson,l,mid); 阅读全文
posted @ 2020-03-17 21:55 SuccessfulRoad 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个长度为n的非负整数序列A,求一个平均数最大的,长度不小于L的子段。(牛客网) 看到这道题没想到用二分,只看到了暴力~~qwq,这道题可以二分枚举平均数大小,即找>=l区间内,大于平均数的数最大,也就是在此区间内存不存在前缀和(各项减去平均数)大于零,求最大的#include<ios 阅读全文
posted @ 2020-03-06 22:53 SuccessfulRoad 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 堆(大顶(根)堆,小顶(根)堆)是支持如下操作的动态集合:(完全二叉树表示) 插入元素:将元素插入堆中 删除堆顶:删除堆中优先级最大(最小)的元素 查询堆顶:返回堆中优先级最大(最小)的元素 //完美二叉树:每层都填满 堆还有,配对堆,斐波那契堆 大顶堆:父亲节点的值大于儿子 小顶堆:儿子大于父亲 阅读全文
posted @ 2020-02-27 22:07 SuccessfulRoad 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 一般解决方法 根->儿子,再由儿子->根,推出根的值 基本模型: 没有上司的舞会 任意两个一起跳舞的职员层次至少相差2(关系可以看成一棵树,相邻之间不能选择即该节点的父亲和儿子,根节点没有父亲) 一般解法:用f(x)表示x子树进行了决策之后x被选择,能获得的最大权值和,g(x)表示x子树进行了决策之 阅读全文
posted @ 2020-02-26 13:37 SuccessfulRoad 阅读(156) 评论(0) 推荐(0) 编辑