
算法
wenjie2002
这个作者很懒,什么都没留下…
展开
-
Tarjan算法的操作原理
Tarjan算法的操作原理原创 2017-08-06 16:37:06 · 365 阅读 · 0 评论 -
基数排序
int maxbit(int data[],int n) //辅助函数,求数据的最大位数{int d = 1; //保存最大的位数int p =10;for(int i = 0;i {while(data[i] >= p){p *= 10;++d;}}return d;}{int转载 2017-08-15 20:21:48 · 161 阅读 · 0 评论 -
背包1
P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][转载 2017-11-09 21:41:12 · 151 阅读 · 0 评论 -
最短路 dijkstra
最短路径问题题目描述平面上有 n 个点(n<=100),每个点的坐标均在-10000~10000 之间。其中的一些点之间有连线 。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离 。现在的任务是找出从一点到另一点之间的最短路径 。输入输入共 n+m+3 行,其中:第一行为整数 n。第 2 行到第 n+1 行 (共 n 行 ),每行两个整数 x 和 y...转载 2018-04-17 22:03:43 · 207 阅读 · 0 评论 -
拓扑排序
字母排序问题总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB描述G教授是xoi的负责人,有一天他竟然发现自己的计算机染上了一种不常见的病毒。这种病毒的名字叫做ALPHABETVIRUS,当它发作时,会将字母用其它的字母代替,但不会将顺序交换。病毒将计算机中的所有文档都作了相对应的改变。很幸运,G教授的计算机上有一个字典,而我们都知道字典单词是按字母顺序排...原创 2018-04-13 21:42:18 · 528 阅读 · 0 评论 -
单调栈 POJ2559
POJ2559维护单调栈POJ数据神坑#include<iostream>#include<cstdio>#include<cstring>using namespace std;__int64 a[100015],s[100015];__int64 w[100015];__int64 ans=0;__int64 max(__int64...原创 2018-08-23 22:47:45 · 170 阅读 · 0 评论 -
最大正方形(square)
最大正方形(square)【问题描述】给一个 N*N 的 01 矩阵, 求一个面积最大的全为 1 的正方形子矩阵. 输出它的面积.【输入文件】输入文件 square.in 的第一行包含一个正整数 N.接下来 N 行, 每行 N 个数, 保证不是 0 就是 1. 每行相邻两个数之间没有空格.【输出文件】输出文件为 square.out,仅包含一个整数表示最大的全 1 子正...原创 2018-08-29 16:30:28 · 744 阅读 · 0 评论 -
AC自动机理解
对于AC自动机可能有的疑问。首先上代码,该代码使用char型数组保存,事实上string也完全可以。#include<bits/stdc++.h>using namespace std;char s[1000005];struct Tree//字典树 { int fail;//失配指针 int vis[26];//子节点的位置 int e...原创 2018-11-01 17:12:22 · 191 阅读 · 0 评论