E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Pku
Pku
1218
<span style="background-color: rgb(204, 204, 204);">/* A - THE DRUNK JAILER Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status Practice P
·
2015-11-13 12:09
pku
C/C++学习站点资源
进阶站点: 浙江工业 http://acm.zjut.edu.cn 浙江大学 http://acm.zju.edu.cn 北京大学 http://acm.
pku
.edu.cn
·
2015-11-13 11:39
c/c++
C++基本要点复习--------coursera程序设计实习(
PKU
)的lecture notes
因为一些特性复杂,很多时候也用不到一些特性,所以忘记了,算是随笔,也当作一个临时查找的手册。没有什么顺序,很杂。 1.构造函数通过函数重载的机制可以有多个(不同的构造函数,参数个数,或者参数类型不同。),但是析构函数只能有一个。当没有在代码中写明构造或析构函数时,编译器会自动生成缺省的构造或析构函数。构造函数和析构函数都无返回值。另外,析构函数必须无参数。没写复制(拷贝)构造函数,编译器也会自动
·
2015-11-13 10:55
程序设计
[LeetCode]Sqrt(x)
思考:参考链接:http://www.cnblogs.com/
pku
oliver/archive/2010/10/06/sotry-about-sqrt.html class Solution {
·
2015-11-13 07:40
LeetCode
一个Sqrt函数引发的血案
转自:http://www.cnblogs.com/
pku
oliver/archive/2010/10/06/sotry-about-sqrt.html 源码下载地址:http://diducoder.com
·
2015-11-13 05:13
函数
数学题
*简单题:(直接用套公式就可以了)
pku
24
·
2015-11-13 05:45
数学
从头到尾彻底解析Hash表算法
转自:http://kb.cnblogs.com/page/189480/ 作者:July、wuliming、
pku
oliver 说明:本文分为三部分内容, 第一部分为一道百度面试题Top
·
2015-11-13 04:00
hash表
POJ 3654 & ZOJ 2936 & HDU 2723 Electronic Document Security(模拟)
题目链接:
PKU
:http://poj.org/problem?id=3654 ZJU:http://acm.zju.edu.cn/onlinejudge/showProblem.do?
·
2015-11-13 04:40
Security
一些图论、网络流入门题总结、汇总
最短路问题 此类问题类型不多,变形较少 POJ 2449 Remmarguts' Date(中等) http://acm.
pku
.edu.cn/JudgeOnline/problem?
·
2015-11-13 04:47
网络流
poj-2593与poj-2479
poj-2479http://acm.
pku
.edu.cn/JudgeOnline/problem?
·
2015-11-13 03:07
poj
pku
2763 Housewife Wind
题意:给定一棵有n( n < 100001 )个结点的带边权的树,处理以下一共q(q < 100001)个操作: 1,改变树的一条边的权; 2,求给定点和某点的距离,后者是编号为1的结点,若是第一次执行操作2,否则为上次执行操作2的给定点。 没有了操作1,这题就是典型的LCA,于是怎样有效地执行操作1就是这题的关键。还记得LCA到RMQ的转化吗点我,过程中DFS会生成一
·
2015-11-13 03:11
pku
pku
2942 Knights of the Round Table
#include < iostream > #include < stack > #include < algorithm > using namespace std; #define MAXN 1001 #define min(a,b)&
·
2015-11-13 03:05
table
pku
3694 Network
题意是给出一个连通无向图,求每次加一条边后,图内割边的数目。 最容易想到的方法是每加一条边都做一次DFS求割边,于是code之,提交,TLE。 然后上网搜了一下,看到了一个更直观的方法:设新加入的边为(u,v),先求u和v的LCA,看从LCA分别到u和v的路径上有多少条割边,然后从原图的割边数目上累减,结果就是所求,因为每加一条边,该边与DFS树上的边形成了环,环内的边就不再是割边了。这样只需
·
2015-11-13 03:04
NetWork
pku
3352 Road Construction
#include < iostream > using namespace std; #define MAXN 1001 #define min(a,b) (a<b?a:b) int p[MAXN],n,ecnt,m,dfn[MAXN],lowlink[MA
·
2015-11-13 03:04
struct
pku
1236 Network of Schools
求强连通分量的基础题,用来练一下刚搞懂的Tarjan: Tarjan算法的过程就是不断避免把桥纳入强连通分量中 注意到以下性质: 1,桥一定是DFS树中的边 2,一条树边v-w为桥,当且仅当不存在回边将w的一个子孙与w的一个祖先相连 #include < iostream > #include < stack > u
·
2015-11-13 03:03
NetWork
pku
1523 SPF
(1)求割点。割点距离各连通分支有一边距离(父子边),故使用<= (2)求割边。割边两端点分别在两个连通分支之中,故使用< (3)求去除割点u后形成的连通分支数。若dfn[u]<lowlink[v],则uv为一割边,对应一个连通分支;若dfn[u]==lowlink[v],则表示割点u和v所在的连通分支之间只有父子边uv相连,除掉后亦可得到一连通分支。 &nb
·
2015-11-13 03:02
pku
pku
2186 Popular Cows
Kosaraju算法的原理:先对逆图作一遍后序遍历,计算访问时间f[u](如果图是一个DAG(有向无环图),这一过程产生一个拓扑排序序列)。然后在原图上再一次DFS,不过是从f[u]最大的未访问点开始遍历。 这样得到的就是一个强连通分量了。因为当原图中w点可以到达v点的时候,在访问逆图的时,逆图中的dfs树中v才可能是w的父节点,这样,f[v]将大于f[w]。再在原图中作DFS,由于是优先
·
2015-11-13 03:01
pku
pku
2449 Remmarguts' Date
A* + dijkstra(heap) #include < iostream > #include < vector > #include < queue > #include < algorithm > using namespace
·
2015-11-13 03:59
Date
pku
2286 The Rotation Game
有点像模拟的IDA*,做了才发现和大多数人的思路一样 题意:定义chessboard上的8个移位操作:处于操作端的元素放到所在列(行)的最尾,该列(行)的所有元素向操作端方向移动一格。求最短的操作序列使得中间8个形成正方形的元素相等。 Memory: 208K Time: 266MS #include &l
·
2015-11-13 03:58
game
pku
1077 Eight
A* Memory:6384K Time:79MS 太烂了,估计是hash太肿...有空再来优化 #include < iostream > #include < string > #include < vector > #include < que
·
2015-11-13 03:57
pku
pku
1376 Robot
第一道A* 想知道自己的启发函数有没有错的话,把函数返回值设为0再交上去看能不能通过就行了 #include < iostream > #include < vector > #include < queue > using namespace std; #de
·
2015-11-13 03:55
robot
pku
2965 The Pilots Brothers' refrigerator
第一道双向广搜,188MS 题意:给定一个4X4的“+”“-”图,定义操作[i,j]为改变第i行和第j列的状态,输出使原图变为全“-”图的最小的操作数和各具体操作 #include < iostream > using namespace std; #define MAXN 2<<
·
2015-11-13 03:55
pku
pku
1845 Sumdiv
题意:求a^b mod 9901 (0 <= A,B <= 50000000) 用到了二分求等比数列和 #include < iostream > using namespace std; #define MAXN 7100 int prim[MAXN],p
·
2015-11-13 03:54
div
pku
3450 Corporate Identity
思路:以第一个串为基串,将另外N-1个串分别与基串拼接跑后缀数组,记录基串每一个位置与另外一个串的最长匹配长度,求出每一个位置在和别的所有串跑后缀数组时所得的最长匹配中的最小值,最后求出所有位置中的最大值就是所求。 也可以用类似Music Theme的二分枚举搞掉,但是代码太丑陋所以就不贴啦 /* Memory: 428K Time:&nb
·
2015-11-13 03:53
entity
PKU
JudgeOnline FAQ 中文版
多得这东东,把RE了一晚的题目给干掉了没看过的还是扫一遍吧,免得在discuss里被BS 常见问题解答 1. 我的程序如何进行输入输出? 2. 在线判题系统(以下简称POJ)的编译器是哪些? 3. 提交的时候可否使用快捷键? 4. 请问提交的程序是如果被判答的? 5. POJ对提交程序的不同判答的意义? 6. Special Judge的题目有什么不同? 7. 如何确定程序读入的终止? 8. 为
·
2015-11-13 03:51
online
pku
2758 Checking the Text
题意:对原字符串插入若干字符后,动态查询某两个位置的lcp RMQ用Square Table作O(nlogn)的预处理和O(1)的询问 #include < iostream > #include < algorithm > using namespace std; #define &
·
2015-11-13 03:50
check
pku
3415 Common Substrings
后缀数组+栈的线性扫描统计两个字符串的长度不少于K的公共子串个数 separate()构造原字符串str1和str2的高度数组,根据lcp(sa[i],sa[j])=rmq(height[i+1..j]),注意到各后缀在合并后得到的字符串中保持在原字符串中的字典序 #include < iostream > using &nbs
·
2015-11-13 03:50
substring
pku
1743 Musical Theme
若在假设重复子串的长度最多为L的限制下有解, 则对于任意一个比L小的限制L'<L, 也一定有解. 这就说明存在解的连续性, 这样就可以用二分查找答案长度L. 给出一个关于LCP的定理LCP(SA[i], SA[j]) = RMQ(Height[i+1.
·
2015-11-13 03:49
theme
pku
2774 Long Long Message
第一道后缀数组...多加点注释希望能帮助理解后缀数组 题意:求两个字符串的最长公共子串 思路:串接两个字符串并对其求height,对后缀排序后,有可能包含最长公共子串的两个后缀必然是排序结果中相邻项,并且要求两个后缀的起始位置不在同一字符串中,所以ans为height[i]的最大值且sa[i]与sa[i-1]有且仅有一个的值小于第一个字符串的长度len #include&n
·
2015-11-13 03:48
message
pku
1823 Hotel
线段树+模拟 空房间标记为1,已入住房间标记为0,这种表示便于统计某段区间内的连续空段长度 #include < iostream > #include < algorithm > using namespace std; #define MAXN 
·
2015-11-13 03:46
pku
pku
2823 Sliding Window
离散化+树状数组找第k小元素 SBT又超时了,真搞不明白.. #include < iostream > #include < algorithm > using namespace std; #define MAXN 1000001 int a[MAXN]
·
2015-11-13 03:45
window
pku
2761 Feed the dogs
没什么好说的,和2104差不多,写个SBT模板直接套 #include < iostream > #include < algorithm > using namespace std; #define MAXN 100001 int a[MAX
·
2015-11-13 03:44
pku
pku
2104 K-th Number
题意:给定一个序列key[1..n]和m个询问{s,t,rank}(1 <= n <= 100 000, 1 <= m <= 5 000),对于每个询问输出区间[s,t]中第rank小的值 分析:由于2761和这题差不多,且数据量是这题的10倍,所以我一开始就把2761的SBT代码交上去,结果竟然是TLE,估计是栽在了"Case Time Limit: 2000
·
2015-11-13 03:43
number
pku
2750 Potted Flower
问题描述:给定一个环形序列,进行在线操作,每次修改一个元素,输出环上的最大连续子段的和。 分析:涉及到线段树的以下操作:维护区间左边开始的连续最大子段和,从右边开始的连续最大子段和,区间的最大子段和 #include < iostream > using namespace std; #define
·
2015-11-13 03:41
pku
pku
2886 Who Gets the Most Candies?
线段树解约瑟夫环,求第i个出圈的人 反素数打的是discuss里的表 #include < iostream > #include < algorithm > using namespace std; #define MAXN 500001
·
2015-11-13 03:40
get
pku
2828 Buy Tickets
#include < iostream > using namespace std; #define MAXN 200001 struct Node{ int l,r,c; }nod[ 3 *
·
2015-11-13 03:39
pku
pku
2985 The k-th Largest Group
题意:初始化状态为N个含单一元素的集合,动态合并任意两个集合,查询第ith大的集合的大小 分析:以虚二叉树做辅助结构找出第ith大的集合的大小 #include < iostream > #include < algorithm > using namespace std;
·
2015-11-13 03:39
group
pku
2155 Matrix
这题的要求和树状数组的使用方法恰好相反,改变的是一个区间,查询的反而是一个点。我们先看一维的情况。 首先定义 Up(a)={a1=a,a2=a1+lowbit(a1),a3=a2+lowbit(a2) ... } Down(a)={a1=a,a2=a1-lowbit(a1),a3=a2-lowbit(a2) ... } 为了方便讨论,只说明初始化后的第一次“C a b”和“Q c”操作:
·
2015-11-13 03:38
Matrix
pku
3321 Apple Tree
思路: 对结点重编号,使得每棵子树内的结点的编号连续,便可将问题转化为树状数组求区间和, 用后序遍历对整棵树进行重编号能满足要求。 除了要在每个结点处记录新编号tag外,还要记录该结点对应的子树的最小结点编号mn,对 于每个结点x,其苹果个数为sum(x.tag)-sum(x.mn-1)。 #include < iostream > #include
·
2015-11-13 03:37
apple
pku
2299 Ultra-QuickSort
题目意思是求一个序列的逆序数,朴素的做法时间复杂度是O(n^2),其中 n < 500,000 ,结果不用说肯定是超时的;于是思路转向了O(nlogn)的算法,换言之离不开二分、树型结构等方法 这里用到的是杨挺的PDF《树状数组和线段树》里提到的方法:巧妙地将问题转化成类似求RMQ的问题,然后通过树状树组解决 1,将序列离散化,即序列内第k小的元素变成k,注意到题目已说明序列内无相同元素;
·
2015-11-13 03:36
Quicksort
pku
2777 Count Color
思路:用位图记录区间已涂上的颜色 #include < iostream > using namespace std; #define clr(x) memset(x,0,sizeof(x)) #define max(a,b) (a>b?a:b) #de
·
2015-11-13 03:35
count
pku
1177 Picture
思路: 1,对y坐标离散化,设有ycnt个不同的y值,在[0,ycnt]上建立线段树 2,建立竖边结构(每个矩形有两条竖边,n个矩形有2*n条竖边): struct Edge{ int yu;//竖边上端点y坐标 int yd;//下端点y坐标 int x;//x坐标
·
2015-11-13 03:34
pku
pku
3368 Frequent values
思路:在线段树的结点内设5个变量l、r、mx、lf、rf,[l,r]表示该结点的区间范围,lf和rf分别表示元素a[l]和a[r]在区间内的出现频率,mx表示区间内的最高出现频率。 假设区间[x,y]和[y+1,z]均被询问[i,j]覆盖,则可以分情况讨论区间[x,z]的mx值: 若a[y]==a[y+1],则mx[x,y]=max{mx[x,y],mx[y+1,z],rf[x,y]+lf[y+1
·
2015-11-13 03:33
value
PKU
1062+dijkstra
题意:给定一些点,这些点本身有价值,并且可以同过某些点转化到自身。 对于lev问题,可以进行枚举出每个点的lev,看哪些点与当前被枚举点是可以相互到达的。这样就解决了点点之间是否可以相互到达问题。 对于路的权值问题,可以稍微进行转化,在更新dis的时候可以明白。dis[ j ] = min( dis[ j ],dis[ k ]+mat[ k ][ j ] ); //
·
2015-11-13 02:12
dijkstra
PKU
1659+havel-hakimi定理
http://www.docin.com/p-540438846.html该定理链接。 1 /* 2 havel-hakimi定理 3 http://www.docin.com/p-540438846.html 4 */ 5 #include<stdio.h> 6 #include<string.h> 7 #include<stdl
·
2015-11-13 02:11
pku
POJ 数学题目
*简单题:(直接用套公式就可以了)
pku
2409 Let it Bead &
·
2015-11-13 02:46
poj
[
PKU
1679 The Unique MST]
【题目】:The Unique MST 【来源】:POJ1679 【关键字】:图论 次小生成树 //================================================================================================ 【分析】:先构造最小生成树,再在MST中删边,找次小生成树. 【小结】:刘老师的论文 //==
·
2015-11-13 02:06
unique
[POJ1751 Highways]
【题目】:Highways 【来源】:
PKU
1751 【关键字】:图论 最小生成树 //=====================================================
·
2015-11-13 02:04
poj
开源项目与许可证
Google Code 许可证 GPLv3,CC,apache 权利与义务,权限与责任 http://creativecommons.net.cn/ http://mprc.
pku
.edu.cn
·
2015-11-13 01:23
开源项目
poj1050--最大子序列和
http://acm.
pku
.edu.cn/JudgeOnline/problem?
·
2015-11-13 01:02
poj
上一页
30
31
32
33
34
35
36
37
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他