自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 简单组合博弈

目录学习篇组合博弈定义必败点、必胜点(属性很重要 思想!!!简单的取子游戏算法实现(组合游戏的一种)Nim游戏SG函数的含义以及实现游戏类型 总结水题集hdu 1847:单堆型 取连续 求先手输赢hdu 1848:单堆型 取规定集合 求先手输赢hdu 1849:多堆型 取任意 求先手输赢hdu 1850:多堆型 取任意 求方案数hdu 2149:单堆型 取连续 求先手操作 方案hdu 2188:单堆型 取连续 求先手输赢hdu 1944:多堆型 取规定集合 求先手输赢学习篇组合博弈定义①有两个玩家②

2021-02-16 04:22:34 529

原创 二分匹配算法

目录学习篇二分图以及其最大匹配匈牙利算法二分图最大匹配变形题最小顶点覆盖 || 最大独立集DAG图的最小路径覆盖水题集hdu 2063:男女最大匹配hdu 1150:机器最少重启次数hdu 1151:DAG最小覆盖路1068:最大没有联系的男女个数hdu 1281 :骑士最大放置数学习篇二分图以及其最大匹配一、什么是二分图如果一个图的顶点可以分为两个集合X、Y, 图的所有边一定是有一个顶点属于集合X,另一个顶点属于集合Y, 则称该图为“二分图”或“二部图”。二、二分图的最大匹配在二分图的应用中,

2021-02-16 01:59:29 1100

原创 BFS/DFS浅谈

目录学习篇(搜索)BFS水题集BFShdu 1548:二叉树型搜索hdu 1459:三个杯子倒可乐hdu 1372:骑士起点到终点最少步数hdu 1242:类似起点到终点题hdu 1253:类起点到终点(三维)学习篇(搜索)先举个例子:遍历二叉树(树的遍历层次)算法思想:维护一个队列,用于存放节点信息。当访问到一个节点的时候,先访问该节点,再将该节点出队,再将其左右儿子分别放入队列。再来讲讲搜索:起初我做搜索题真的是一头雾水,直接放弃搜索的本质:暴力枚举(让程序从一个状态跳到另一个状态就是搜索。

2021-02-13 03:27:49 461

原创 最短路径问题-迪杰斯特拉Dijkdtra

目录学习篇水题集hdu 1874:畅通工程续-单源点最短路hdu 2066:多源点hdu 2680:多源点&&有向学习篇求最短路径的基本思想:按照最短路径的长度递增的次序,依次求得——源点到其余各点的最短路径!假设,从源点到顶点v的最短路径是所有最短路径中长度最短者。路径长度 最短的最短路径 的特点:在这条路径上,必定只含有一条弧,并且这一条弧的权值最小。简单来说:一条最短路径比如:Start -> a->····-> End在一个图中,找到与源点距离最短

2021-02-11 03:50:53 569 1

原创 背包简单问题

目录学习篇+?板子?01背包问题 求优解朴素做法O(NV)常数优化完全背包 求最优解O(NM)做法多重背包 求最优解朴素做法 O(NVS)二进制优化 O(NVlog(S))单调队列优化 O(NV)水题集hdu 2602:01背包求最大值hdu 1114:完全背包+装满hdu 2191:多重背包hdu 1284:类完全背包hdu 4508:类完全背包学习篇+?板子?参考 : 资料1 ,资料2 ,资料3 ,资料401背包问题 求优解N种物品,总容量V,每种物品只能选一次,求不超过V的最优解(以下为求最

2021-02-10 17:23:25 505 2

原创 简单DP

目录学习篇+?板子?水题集hdu 2084:数塔hdu 1257:拦截系统(LIS)学习篇+?板子?基本思想:如果各个子问题不是独立的(即重复的),不同的子问题的个数只是多项式量级的(即有限的),如果能保存已解决的子问题的答案(一般用数组)而在需要的时候再找出已经求得的答案,这样就可以避免重复计算。满足DP的几个基本性质:参考资料一、最优子结构:当前问题的最优解包含了子问题最优解二、子问题重叠:所有的子问题都可以用一个算法计算(状态转移方程)三、同级问题独立:同一级所有问题互不干涉,即a[

2021-02-06 22:08:13 210

原创 递推系列(未学dp前的分析系列)

目录水题集hdu 2018:母牛生小牛hdu 2041:楼梯-斐波那契hdu 2046:2*n骨牌-斐波那契hdu 2067:棋盘-卡特兰数wa了多次的?水题集?hdu 2044:蜜蜂-斐波那契hdu:EOF牛肉串hdu 2045:涂颜色hdu 1297:男女生排队(大数加法所有考虑第n位的前提是,前n-1位合法;若直接考虑第n位的时候不能找出递推公式就换种思路,考虑 前n-1是否合法的情况。水题集hdu 2018:母牛生小牛hdu 2018:母牛生小牛#include <bits/st

2021-02-06 20:16:41 411

原创 二分/三分

目录二分查找三分水题集二分:hdu 2199:找单调函数方程解 ->连续的二分三分:hdu 2899:求凸性函数最值:一个函数三分hdu 3714:求多个函数构成的图形函数的最值wa多次 ?水题集?二分:poj:1905三分:二分查找参考资料一、查找 等于某个值的 位置(下标)/ 对应的变量在不连续的数据中查找 即数组int Bifi(int a[],int n,int x){ int l=0,r=n-1; while(l<=r){ int mid=(l+r)/2; if(

2021-02-06 16:08:58 325

原创 专题I_K个人解题报告-三分

I题:HDU 3714分析:求F(x)=max(Si(x));画图分析易知F(x)一定是一个下凸的图像,三分这个题的精度要注意,还不会精度到底要怎么搞,我一般都取1e-7,这次wa了,取了1e-10过了。#include <bits/stdc++.h>using namespace std;//把F[x]=max(s(x))表示出来;int n;struct node{double a,b,c;}p[10010];double S(double a,double b,dou

2021-02-03 23:03:30 99

原创 专题I_J个人解题报告-二分

J题:POJ 1905-二分做这个题做到怀疑智商了QAQ分析:由题意已知:L ,s ,0<h<L/2 ; 求 h;那么知道S(R(h))的单调性就可以知道用二分还是三分求解了;下面是错误分析(这段分析真的还以自己还有没有智商了)根据 h 的范围;我对①式中的 h 求导;得出 r 随 h 的增大而减小(即单调减函数);然后我一看②式妥妥的单调增函数啊;然后我就判定这个复合函数为单调减函数了。但是我突然发现我运行样例的时候,???,怎么都不对,我就去翻别人的题解,从别人的代码里我发

2021-02-03 20:45:18 110

原创 专题图论_I、J个人解题报告-最小生成树

HDU 1233最小生成树-查并集的简单应用#include <bits/stdc++.h>#define ll long longusing namespace std;//最小生成树问题int s[110];struct node {int a, b, d;}c[5000];bool cmp(node x,node y){return x.d<y.d;}int findx(int x){//查并集中的查 while(x!=s[x])x=s[x];

2021-02-02 00:32:08 118

原创 最小生成树

别人写的比较好的一篇什么是最小生成树:如何求最小生成树?A、Prim 算法(普里姆算法)(待补)B、Kruskal 算法(克鲁斯卡算法)理论基础:MST(证明)其实就是查并集的简单应用而已;举个题:HDU 1233#include <bits/stdc++.h>#define ll long longusing namespace std;//最小生成树问题int s[110];struct node {int a, b, d;}c[5000];bool

2021-02-02 00:21:27 111

原创 专题图论_H个人解题报告-查并集

图论_H题(查并集)题意:给出互通的两个城市的编号,使全省任意两个城市互通,最少还需要建设多少条道路。#include <bits/stdc++.h>#define ll long longusing namespace std;int s[1010];int findx(int x){ int r=x; while(s[r]!=r)r=s[r]; return r;}void mergeset(int a,int b){ int x=fin

2021-02-01 22:14:23 108

原创 查并集Disjoint Set(不相交的集合)

查并集:Disjoint Set(不相交的集合)常见两种操作:1、合并两个集合2、查找某个元素属于哪个集合**实现方法一(常用):**每个集合用一棵“有根树”表示定义数组Set[1,n];Set[ i ] = i ;则 i 表示本集合,并使集合对应树的根Set[ i ] = j ;若 j 不等于 i ,则 j 是 i 的父节点举个例子:Set(i)1232134334i12345678910具体操作:1、查:最坏情况O

2021-02-01 22:10:00 949

原创 可图性判定

可以构成图的判定两个概念:1、度的序列:若把图G的所有顶点的度数排成一个序列S,则称S为图G的度序列。2、序列是可图的:一个非负整数组成的有限序列如果是某个无向图的度序列,则称该序列是可图的Havel-Hakimi定理判定过程:(1)对当前数列排序,使其呈递减,(2)从S【2】开始对其后S【1】个数字-1,(3)一直循环直到当前序列出现负数(即不是可图的情况)或者当前序列全为0 (可图)时退出。HDU 2454#include <bits/stdc++.h>#define

2021-02-01 22:07:11 2860

空空如也

空空如也

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

TA关注的人

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