自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [区间DP]石子合并极其变种问题(环形,40000堆型)P1880 [NOI1995]石子合并+[Sdoi2008]石子合并/poj1738An old Stone Game

 有N堆石子,现要将石子有序的合并成一堆,规则如下:(1)每次只能移动任意相邻的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆总花费,要求N<=300。变形一:(2)每次只能移动相邻的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆的总花费最小(或最大)要求N<=40000。变形二:(3)问题(2)的是在石子排列是直线情况下...

2018-09-19 10:19:49 672

原创 树形dp tyvj1052

树形dp:给定一棵有N个节点的树,(通常是无根树,也就是有N-1条无向边),我们可以任选一个节点为根节点,从而定义出每个节点的深度和每棵子树的根。在树上设计动态规划算法的时候,一般就以节点从深到浅(子树从小到大)的顺序作为DP的阶段。DP的状态表示中。第一维通常是节点编号(代表以该节点为根的子树)。大多数时候,我们采用递归地形式实现树形动态规划。对于每一个节点x,先递归在他的每个子节点上进行DP,...

2018-09-18 19:46:51 276

原创 树状数组+逆序对数的树状数组实现+楼兰图腾tyvj1432

逆序对数使用归并排序更好,在此我们介绍一种树状数组的实现。假设一个数组A[n],当A[n]=0时表示数字n在序列中没有出现过,A[n]=1表示数字n在序列中出现过。A对应的树状数组为c[n],则c[n]维护的是数组A[n]前缀和,即树状数组c可用于求A中某个区间的值的和         所以要求序列中比元素a大的数的个数,可以用i - ask(a)即可( i 表示此时序列中元素的个数)。...

2018-08-05 22:17:55 367

转载 用二叉树来理解树状数组

转载:SourceURL:https://www.cnblogs.com/flyinghearts/archive/2011/04/11/2013111.html用二叉树来理解树状数组 - flyinghearts - 博客园,由于联系不到原博主,暂时先转载保存,侵删用二叉树来理解树状数组 树状数组(Fenwick tree,又名binary indexed tree),是一种很实...

2018-08-05 13:31:52 241

原创 NOI2015/bzoj4195

4195: [Noi2015]程序自动分析Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 3021  Solved: 1414[Submit][Status][Discuss]Description 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设x1,x2,x3,…代表程...

2018-08-03 17:04:52 122

转载 RMQ区间最值,动态规划的查询方法

1. 概述RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍。2.RMQ算法对于该问题,最容易想到的解决方案是遍历,复杂度是O(n)。但当数据量非常大

2018-01-28 13:20:30 381

原创 微信跳一跳python代码

今天早上有些人嘲笑我手残mdzz# -*- coding: utf-8 -*-import osimport timeimport numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as animationfrom PIL import Imagedef pull_screenshot(

2018-01-08 13:13:14 603

转载 拓扑排序

1. 引言有向无环图(Directed Acyclic Graph, DAG)是有向图的一种,字面意思的理解就是图中没有环。常常被用来表示事件之间的驱动依赖关系,管理任务之间的调度。拓扑排序是对DAG的顶点进行排序,使得对每一条有向边(u, v),均有u(在排序记录中)比v先出现。亦可理解为对某点v而言,只有当v的所有源点均出现了,v才能出现。下图给出有向无环图的拓扑排序:下图给出

2017-12-23 13:39:42 344

原创 fleury算法,欧拉回路,欧拉路径

欧拉回路的求解欧拉回路的求解主要有两种方法:DFS 搜索及Fleury(佛罗莱)算法。本节分别介绍这两种方法。DFS 搜索求解欧拉回路用DFS 搜索思想求解欧拉回路的思路为:利用欧拉定理判断出一个图存在欧拉通路或回路后,选择一个正确的起始顶点,用DFS 算法遍历所有的边(每条边只遍历一次),遇到走不通就回退。在搜索前进方向上将遍历过的边按顺序记录下来。这组边的排列就组成了一条欧拉通路或

2017-12-23 13:36:49 1251

转载 Tarjan算法解强连通分量

Tarjan 算法一.算法简介Tarjan 算法一种由Robert Tarjan提出的求解有向图强连通分量的算法,它能做到线性时间的复杂度。 我们定义:如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量(strongly connected com

2017-12-23 13:28:34 309

转载 Kosaraju算法解析: 求解图的强连通分量

#include  /* Kosaraju求强连通分量邻接矩阵 */  using namespace std;  int map[511][511];int nmap[511][511];int visited[501];stackS;int N; int DFS1(int  v) /* visitedthevnode */{    visited[v] = 1;   

2017-12-23 11:26:42 873

转载 dinic算法,就是优化的EK算法

#include #include #include #define N 251#define INF 0x0fffffffusing namespace std;int si,ti,ci;int V,E,ans;int dis[N];//记录节点的层次int map[251][251];int h,r,q[251]; //储存队列,h为头,r为尾巴int min2(int

2017-12-20 17:51:10 1269

原创 B - Flow Problem练习Edmond-Karp算法

Network flow is a well-known difficult problem for ACMers. Given a graph, your task is to find out the maximum flow for the weighted directed graph.InputThe first line of input contains an integer

2017-12-15 21:39:47 170

原创 图算法&网络流&edmonds_karp算法

edmonds_karp算法概要网络流问题,求最大网络流网络流的相关定义:源点:有n个点,有m条有向边,有一个点很特殊,只出不进,叫做源点。汇点:另一个点也很特殊,只进不出,叫做汇点。容量和流量:每条有向边上有两个量,容量和流量,从i到j的容量通常用c[i,j]表示,流量则通常是f[i,j].通常可以把这些边想象成道路,流量就是这条道路的车流量,容量就是道路可承受的最大

2017-12-15 19:47:29 213

原创 hihoCoder - 1081 - 最短路-dijkstra算法

描述万圣节的早上,小Hi和小Ho在经历了一个小时的争论后,终于决定了如何度过这样有意义的一天——他们决定去闯鬼屋!在鬼屋门口排上了若干小时的队伍之后,刚刚进入鬼屋的小Hi和小Ho都颇饥饿,于是他们决定利用进门前领到的地图,找到一条通往终点的最短路径。鬼屋中一共有N个地点,分别编号为1..N,这N个地点之间互相有一些道路连通,两个地点之间可能有多条道路连通,但是并不存在一条两端都是同一个

2017-11-22 20:58:47 341

原创 HihoCoder 1043

题目描述且说之前的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时刻了!等等,这段故事为何似曾相识?这就要从平行宇宙理论说起了………总而言之,在另一个宇宙中,小Ho面临的问题发生了细微的变化!小Ho现在手上有M张奖券,而奖品区有N种奖品,分别标号为1到N,其中第i种奖品需要need(i)张奖券进行兑换,并且可以兑换无数次,为了使得辛苦得到的奖券不

2017-11-17 10:09:44 178

原创 cc: 错误:firstc.c:没有那个文件或目录 cc: 致命错误:没有输入文件 编译中断。

经常初学者会遇到这么个问题明明我都是按照编程书上的名命令输入的的阿怎么会有cc: 错误:firstc.c:没有那个文件或目录cc: 致命错误:没有输入文件编译中断。别着急,这种问题是有很多种原因,但是对于初学者而言,无非是对linux的知识不了解1.文件名错误:linux允许文件名有空格,所以可能你的.c文件有空格例如 first .c和first.c或

2017-03-20 18:19:58 9698 1

转载 KMP字符串模式匹配高效精妙的算法

KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。转载自流云哭翠,仅供学习一.简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/*若串 S中从第

2017-02-25 15:18:16 406

空空如也

空空如也

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

TA关注的人

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