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
2104 K-th Number && hdu 2665 Kth number 划分树
http://poj.org/problem?id=2104 http://acm.hdu.edu.cn/showproblem.php?pid=2665 题意: 给定一个长度为n的序列,求一个区间[L,R]内第K大的数; 思路: 划分树模板题。 给出个人感觉讲解比较好的连接: http://blog.sina.com.cn/s/blog_5f5353cc0100ki
·
2015-11-02 15:49
number
pku
Nearest Common Ancestors LCA 问题(rmq && tarjan)解决
http://poj.org/problem?id=1330 题意:给n个点,n-1条边,一棵树,求每个询问的LCA; 思路: rmq求LCA。。。。http://dongxicheng.org/structure/lca-rmq/ View Code #include <iostream> #include <cstdio> #include <
·
2015-11-02 15:46
REST
pku
3070 Fibonacci 矩阵快速幂相乘求Fibonacci 数列
http://poj.org/problem?id=3070 思路: 这里n很大单纯的递推是O(N)会超时,所以要用矩阵快速幂优化; f(n) 1 1 &n
·
2015-11-02 15:44
fibonacci
pku
2947 Widget Factory 高斯消元
http://poj.org/problem?id=2947 题意: 工人生产不同的部件需要不同的时间,最少需要3天最多需要9天。 给出n种部件和m条记录,每条记录包括该工人生产部件的总数k和他开始生产时间和结束时间(只给出是周几,不给出具体时间),之后给出这K个部件跟的所属的种类。最后求出生产这n种部件分别所需要的时间。 思路: 高斯消元: 例子来讲 首先我们能够列出方程 (x
·
2015-11-02 15:31
factory
pku
1026 Cipher 置换群
http://poj.org/problem?id=1026 题意: 给定长度为n的序列key[],key[i](表示第i个字符置换一次后跑到key[i]的位置)然后给出数字k以及字符串seq[],输出经过k次加密后的字符串,字符串的长度总是满足长度为n如果后边无字符用空格代替。 每一次的加密过程为: 例如 4 5 3 7 2 8 1 6 10 9, He
·
2015-11-02 15:29
pku
pku
3270 Cow Sorting 置换群
http://poj.org/problem?id=3270 题意: 给定N头牛的身高,要求你通过每次交换两头牛的位置使其按身高从小到大排序,身高各不相同。假设交换ai,aj两头牛的位置则花费的时间为ai + aj,求用最小的时间花费。 思路: 黑书P248详细解释。 cost += sum + Min((k – 2) * ti, ti + (k + 1) * minn);
·
2015-11-02 15:29
sort
[
PKU
1915 2243] 搜索之BFS & A*(续)
和A*解决的搜索问题很多 比如有一个很simple的骑士巡游问题 就可以这么做 本文只是贴个代码 狗尾续貂 扩充一下 以后有类似的问题也会在这篇文章里补充 } 原题 http://acm.
pku
.edu.cn
·
2015-11-02 15:34
bfs
[
PKU
2269 3295]表达式求值
{ 表达式求值又是栈的应用 感觉很有用 于是找了2个问题解决了一下 在这里讲过在树上的各种栈应用 http://www.cnblogs.com/Booble/archive/2010/08/20/1804579.html 实际上对表达式进行处理本质就是对表达式树进行栈处理 } 我们平时使用的表达式是中缀表达式 比如:2*6-(23+7)/(1+2)=2 我们可以注
·
2015-11-02 15:33
表达式
[
PKU
3481][Noi 2004 Cashier]伸展树Splay & 平衡树SBT(上)
{ 本文主要介绍一下伸展树与平衡树SBT 平衡树应用广泛 效率极高(最坏为Logn) 是实现优先队列 数据字典的不二选择 伸展树因其独有的Splay操作 可以应对很多线段树难以处理的区间问题 而不仅仅是用作一棵排序二叉树来处理数据 而且伸展树效率也很高 达到了均摊Logn的级别 } 先讲平衡树SBT CQF大神的SBT我已经膜拜好久了 程序也差不多看懂了 果然是大神的程序
·
2015-11-02 15:32
play
[
PKU
3580 3468][Noi 2005 Sequance]伸展树Splay & 平衡树SBT(下)
{ 承上一部分 } 我们在上半部分说到伸展树不是用来作为平衡树使用的 而应当将它的Splay操作发扬光大 我们先来讨论一下Splay操作 splay操作的具体实现可以从杨思雨的论文里了解 不过我找到的论文只有pdf和ppt(汗) 于是就去看splay的算法 看的云里雾里 只知道splay是一个提根操作 还要分六种情况讨论(大汗) 我觉得直接单旋提根也不会差多少 编程复杂度还
·
2015-11-02 15:32
play
[
PKU
2104 2761] 区间第k大(小)值
{ 这一类问题方法很多 是练习数据结构的经典问题 建议可以线段树写一遍 用平衡树再写一遍 用树状数组也可以解决 平衡树也可以试试2种不同的方法 比如Splay和SBT (虽然Splay不是平衡树 也不如平衡树效率高 但是Splay可以和平衡树互补解决问题 姑且笼统的把Splay归到平衡树里吧 况且很多区间问题还是少不了Splay树的 这里运用的还是平衡树的有序性 不是
·
2015-11-02 15:31
pku
pku
1155 TELE
题目链接:http://poj.org/problem?id=1155 好长时间没写过树形DP了,突然间想写道题,就在网上随便搜了一题。 题目大意: 要转播一场球赛,根节点和所有中转节点都有一个信号塔可以传播信号,所有的叶子节点表示用户。 每条边都有一个权值,表示传播过来需要的花费。 当能传到用户的时候,用户会付一定的费用,问在不亏本的情况下,最多能让几个用户观看到这场球赛。 思路:
·
2015-11-02 15:51
pku
pku
3613 Cow Relays 强大的矩阵。。
题目链接:http://poj.org/problem?id=3613 Cow Relays Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3199 Accepted: 1240 Description For their physical fit
·
2015-11-02 15:47
pku
pku
3067 Japan
题意:一个国家分为东部和西部,分别包括n个和m个城市,在城市之间建k条路,问有多少个交点。(不存在三边交与一点的情况) 思路:很容易想到转化为求逆序数,可以用归并排序来求,也可以用树状数组。树状数组实现要比归并简单一点。。 需要注意:k<=10^6,最后的结果要用__int64 存储 归并: # include<stdio.h> # include<string
·
2015-11-02 15:39
pku
pku
3160 Father Christmas flymouse
题目来源:http://poj.org/problem?id=3160 强连通+DP 题目大意:圣诞节要到了,flymouse要给他的队友们送去礼物,,n个队友住在n个不同的房子里,每个队友住的地方都有一个comfort index (positive or negative); 他每给一个队友送去礼物,都将得到该队友的comfort index ,问最后他能获得的maximized sum
·
2015-11-02 15:37
pku
pku
2181 Jumping Cows hdu 3905 Sleeping
题目来源:http://poj.org/problem?id=2181 Jumping Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5065 Accepted: 3082 Description Farmer John's cows would like to jump ov
·
2015-11-02 15:35
sleep
hdu 1043 ,
pku
1077 Eight ,八数码问题
某位神牛曾说过,此题是涉及到人生完不完整的一道题。。 Goodness大牛曾总结了 八数码的八重境界 : http://www.cnblogs.com/goodness/archive/2010/05/04/1727141.html 足见此题的重要性。 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043 本人不才,只写出了其中几个。。
·
2015-11-02 15:33
HDU
pku
3074 3076 Sudoku 问题
Sudoku Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5624 Accepted: 1718 Description In the game of Sudoku, you are given a large 9 × 9 grid divided into smaller
·
2015-11-02 15:32
sudo
pku
2942 Knights of the Round Table
点双联通 + 二分图染色~~ 这道题做了有两天了,因为点双联通一直写不对,昨天就又花了一些时间看了下割点,块,割边,缩点,今天在贡献了n次wa后终于AC了,泪奔~~ 题目大意:有n个骑士,有m对憎恨关系,现在要选择一些骑士(奇数个)围着一个圆桌坐下来,相邻的骑士之间不能相互憎恨,问有多少个骑士永远不可能入座!! 思路:先建图,相互补憎恨的骑士之间连一条边,之后问题就转化成求那些骑士永远也不可
·
2015-11-02 15:26
table
pku
3694 Network
哎,写了差不多两天了,终于A了。。双联通分量+并查集。。 题目大意:给一个连通的无向图,问每加进来一条边,图中还有多少桥! 思路:刚开始想都没想,直接就写,每加进来一条边然后进行缩点,写到每加一条边然后重新建图的时候打住了,每加一条边要进行缩点,还要重新建图,太麻烦了,, 搞了很久还是写出来了,交上去OLE了,搜了一下解题报告, 人家说这种方法会超时,然后果断不写了。。 又看了一下disc
·
2015-11-02 15:24
NetWork
pku
3711 Redundant Paths
双连通分量。 题目大意:给出一个连通图,求至少添加多少条边,使得对于任意亮点,不只一条路。即两点间的路去掉一条边还是连通的。 思路:用双联通缩点,然后求出度为一的双连通分量的个数count1,最后(count1+1)/2即是所求!! 这个题基本上算是我接触双连通的第一道题,写了好多个版本,最后还是稍微了理解了一些双联通。。 双连通分量的tarjan用不用栈都可以,因为它不会存在横向边,不需
·
2015-11-02 15:22
Path
pku
2762 Going from u to v or from v to u?
强联通+拓扑排序判断~~ 题目大意:给定一个有向图,问该图是不是半连通图. 所谓半连通图即是指 在连通图中任意给出两个点a,b,要保证至少存在一条从a到b,或者从b到a的边。 解题思路:先用强联通进行缩点,之后再重新建图,再用拓扑排序进行判断:当某一时刻存在两个或两个以上入度为0的点则输出No,否则输出Yes! 为了学习双联通不得不学习了tarjan,先用tarjan把这个题给A了。之后不
·
2015-11-02 15:21
pku
pku
1185 炮兵阵地
很经典的一道状态压缩DP~ 刚开始写这道题目的时候分析了下,很明显的二进制压缩,每行有1024中情况,但是每两个阵地之间至少要相隔2,最后一算只有60种形态。 感觉不是很麻烦就写了,写着发现不对劲,由于一行需要由前面两行的状态决定,而我开的是二维数组,怎么也不能完全的把信息转换过来。。 一直很纠结于怎样传递信息,最后很无奈的上网搜了下代码,发现用三维的数组就可以了。。 DP[i][j][k
·
2015-11-02 15:19
pku
pku
1947 Rebuilding Roads 树形DP~~
很简单的一道树形DP,把我搞得太纠结了。。。。 我也知道需要把子树的情况进行背包,不过不知道该怎样写,看了别人的代码,也能明白,就是自己那个时候怎么没想起来呢。。。 题意:给一个包含n个节点的树,然后让你找一颗节点数为p的子树,同时让你删掉最少数目的边把这个子树给孤立起来,问这个最少的边数。 思路:很容易想到要用到01背包,要把子树的情况进行背包。用dp[root][j]记录 以root为根
·
2015-11-02 15:15
Build
pku
1655 Balancing Act
很纠结的一道题啊,看起来很简单,一写起来就各种搞不定!!! 开始没怎么想就写代码了,我的思路:建立有向图,正着搜一遍,反正搜一遍,两次dfs,最后把两个结果相融合起来,但是最后不好处理,导致各种搞不定,真杯具!! 上网搜了一个代码,超简单,看了一下就明白了,以后做题一定要先把思路理清晰,不能急着敲代码! 题意: 思路:找平衡点,用dfs遍历没个节点,求出该节点的子树中有多少个节点,若有多个
·
2015-11-02 15:13
pku
pku
2378 Tree Cutting
和上一篇博客介绍的那题的一样的,简单的树形DP; 题意:给你一棵树,然后让你找到这样的一些点,这个点去掉后,分割出来的子树的个数都小于等于 N/2 代码: View Code 1 # include<stdio.h> 2 # include<string.h> 3 # define N 10005 4 struct node{ 5 int from
·
2015-11-02 15:13
tree
pku
2387 Til the Cows Come Home
原来一直没去学spfa,感觉只一个Dij已经很够用了,昨天翻了一下最短路,如果路径中存在负权的话,Dij也只能素手无策,这时spfa就大显身手了。。 实现过程: 我们用数组d记录每个结点的最短路径估计值,而且用邻接表来存储图G。我们采取的方法是松弛: 设立一个先进先出的队列用来保存待优化的结点,优化时每次取出队首结点u, 并且用u点当前的最短路径估计值对离开u点所指向的结点v进行松弛操作,
·
2015-11-02 15:12
home
POJ 2914 Minimum Cut
Minimum Cut Time Limit: 10000ms Memory Limit: 65536KB This problem will be judged on
PKU
.
·
2015-11-02 12:28
poj
HDU 1475 Pushing Boxes
Pushing Boxes Time Limit: 2000ms Memory Limit: 131072KB This problem will be judged on
PKU
·
2015-11-02 12:27
push
POJ 3635 Full Tank?
Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on
PKU
.
·
2015-11-02 12:22
poj
POJ 3678 Katu Puzzle
Katu Puzzle Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on
PKU
.
·
2015-11-02 12:19
poj
POJ 3621 Sightseeing Cows
Sightseeing Cows Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on
PKU
·
2015-11-02 12:17
poj
pku
1052 昂贵的聘礼
题意:中文。。 思路: 这里的等级限制是,与他本身交易的以及间接交易的都不能超过m。所以我们在树形DP时,维护可行区间即可。 关键是在维护可行区间时卡住了。 View Code #include <iostream> #include <cstdio> #include <cmath> #include <vector&g
·
2015-11-02 11:27
pku
pku
1286 Necklace of Beads polya定理
http://poj.org/problem?id=1286 题意: 3种颜色对一个有n个顶点的圈着色,问有多少种不同的着色方法。对于通过旋转或者翻转得到的相同的着色视为一种; 思路: Polya定理 设有n个对象,G是这n个对象上的置换群,用m种颜色涂染这n个对象,每个对象涂染一种颜色,问有多少种染色方案?一种染色方案在群G的作用下变为另一种方案,
·
2015-11-02 11:22
pku
pku
1185 炮兵阵地 状压DP
http://poj.org/problem?id=1185 题意: 给出一个n*m的矩阵,矩阵的每个方格标有P/H p表示可以安置大炮,H表示不能安置大炮,当大炮安置于(i,j)点时,其左右两个单位以及上下两个单位都在攻击范围,求在两支大炮不会相互攻击的前提下,最多能够安置大炮的数量。 思路: 当前行大炮的的安置要受其前两行的影响,所以状态转移方程有: dp[i][j][k] = ma
·
2015-11-02 11:21
pku
pku
2057 The Lost House 树形DP
http://poj.org/problem?id=2057 题意: 蜗牛的房子遗失在了一棵树的某个叶子结点上,它要从根结点出发开始寻找它的房子。有一些中间结点可能会住着一些虫子,这些虫子会告诉蜗牛它的房子是否在以这个中间结点为根的子树上,这样蜗牛就不用白跑路了。当然,如果有些结点没有住着虫子的话,那么可怜的蜗牛只有靠自己决定访问顺序来探索了。假设蜗牛走过一条边的耗费都是1,且房子
·
2015-11-02 11:20
pku
pku
3254 Corn Fields 状态DP
http://poj.org/problem?id=3254 题意: 给定一个n*m的矩形,fj要在里面种玉米给奶牛吃,矩形内的小格中如果为1说明土地肥沃可以种植,如果为0说明土壤贫瘠不能种植玉米,而且奶牛们不喜欢在挨着的田地里吃玉米,问fj有多少种可选择方案种植玉米。 思路: 表示对状态dp不来感啊,首先dp[i][j]表示第i行在第j中状态下的可能数,则有dp[i][j] += dp[
·
2015-11-02 11:19
Field
pku
1925 Spiderman DP
http://poj.org/problem?id=1925 题意: 蜘蛛侠的女朋友被坏人抓到了 tower (目标点),他必须尽快从 apartment(起点)到tower去救人,给出n个建筑物的坐标以及高度(第一个为起点最后一个为目标点),求蜘蛛侠用蜘蛛网最少荡几次才能到达tower?注意:这里在起点之后的建筑物保证高度都会大于等于起点的高度。 思路: 首先计算每个
·
2015-11-02 11:18
spider
pku
2948 Martian Mining DP (记忆化搜索)
http://poj.org/problem?id=2948 题意: 给你一个n*m的矩形方格,每个方格里面都存有一定的矿资源,要求我们在每个方格内建立传送带,将他们传送到指定的工厂,一定有两种资源一种是yeyenum ,规定这种资源只能用自东向西传送带传送到最西边的工厂否则这些资源就会丢失,第二种为bloggium,规定只能用自南向北的传送带传送到最北边的工厂生产否则这种资源也会丢失。为如何
·
2015-11-02 11:17
ini
pku
3280 Cheapest Palindrome DP
http://poj.org/problem?id=3280 题意: 给定一个长度为m的字符串(都是小写字母) ,求通过添加或者删减若干个字符是原字符串变为回文串的最小代价(这里给出n个字符的删除与添加所需的代价,规定添加和删除的字符串都在给定的这n个字符中); 思路: 只能说自己dp太弱了,以后有时间一定要多练习dp。 这里对字符串从两端开始进行比较如果相同则dp[i][j
·
2015-11-02 11:16
heap
pku
2029 Get Many Persimmon Trees DP
http://poj.org/problem?id=2029 二维树状数组解法:http://www.cnblogs.com/E-star/archive/2012/07/30/2615239.html 题意: 给定一个W*H的矩形方格,然后给出n个柿子树所在矩形小方格的坐标,然后给你一个dx*dy的小矩形,求用此小矩形能够框住的最多的柿子树的个数; 思路: dp[i][j] 存储从[0
·
2015-11-02 11:16
tree
pku
1054 The Troublesome Frog 暴力+剪枝
http://poj.org/problem?id=1054 题意: 给你r*c的一块稻田,每个点都种有水稻,青蛙们晚上会从水稻地里穿过并留下脚印,问题确保青蛙的每次跳跃的长度想相同,而且沿直线行走,给出n个青蛙的脚印点问存在大于等于3的最大青蛙走的连续的脚印个数;若不存在输出0 思路: 这题O(n^3)的三次方+j剪枝竟然能过无语了。。。。首先排序,然后O(n^2)枚举任意两
·
2015-11-02 11:15
pku
pku
1191 棋盘分割 DP / 记忆化搜索
http://poj.org/problem?id=1191 题意:中文省略. 思路:黑说p116有讲解, 主要的状态转移方程为 横着切: dp[k][x1][y1][x2][y2] = min(dp[k - 1][x1][y1][mid][y2] + dp[1][mid][y1][x2][y2],dp[k - 1][mid][y1][x2
·
2015-11-02 11:14
pku
pku
1691 Painting A Board 状态压缩dp
DFS解法:http://www.cnblogs.com/E-star/archive/2012/08/11/2633842.html http://poj.org/problem?id=1691 题意: 给定一个大矩形,然后给出n个需要染色的小矩形的左上角的坐标,右下角的坐标以及该矩形要染得颜色,每个颜色对应的一把刷子。问将这些小矩形染完规定的颜色之后需要最少的刷子数。 要求:只当该小矩
·
2015-11-02 11:14
paint
pku
1691 Painting A Board DFS 抽象建图 + 拓扑排序
http://poj.org/problem?id=1691 题意: 给定一个大矩形,然后给出n个需要染色的小矩形的左上角的坐标,右下角的坐标以及该矩形要染得颜色,每个颜色对应的一把刷子。问将这些小矩形染完规定的颜色之后需要最少的刷子数。 要求:只当该小矩形的上边的矩形都染完色之后,该矩形才能染色,如果同一个刷子被使用多次也要计算进来; 思路: 首先根据一个矩形的所有上部分染完之后才能染
·
2015-11-02 11:13
paint
pku
3373 Changing Digits 爆搜+强剪枝
http://poj.org/problem?id=3373 题目意思: 给出2个整数N(n<10^100)和K(k<10000),求满足以下条件的整数M1、M与N位数相同2、M能被K整除3、满足以上两点时,M和N不同位数最少 4、满足以上三点时,M值最小 思路: 题目意思很好理解,我们只要以n为基础分两个方向搜索即可, 1:首先搜索比n小的,这样保证在为数不同的前提下,M
·
2015-11-02 11:12
git
pku
3411 Paid Roads DFS+灵活技巧卡节点访问次数
http://poj.org/problem?id=3411 题意: 给出 n 个节点 m 条边,求从 1 到 n 的最小花费。有两种支付方式: 1> 预先在城
·
2015-11-02 11:11
DFS
pku
1724 ROADS BFS +优先队列
http://poj.org/problem?id=1724 题意: Bob现在有的钱数为k,他想从城市1到城市n,给出m条连接两个城市的有向边,并且给出路的长度w,和经过这条路要交的钱数c。问Bob在花的过路费不超过k的前提下能到达城市n的最短路径为多长。 思路: 才开始我想spfa来做,开两个数组dis记录距离最短disw记录话费最小,在松弛的时候进行距离与费用的限制来进行,可是发现当
·
2015-11-02 11:11
优先队列
pku
1699 Best Sequence 状态压缩dp
http://poj.org/problem?id=1699 DFS+剪枝解法http://www.cnblogs.com/E-star/archive/2012/08/10/2631584.html 题意: 现在给出几个基因片段,要求你将它们排列成一个最短的序列,序列中使用了所有的基因片段,而且不能翻转基因。,这些基因可以重叠,只要一个基因的后段和一个基因的前端一样,就可以将其重叠链接在一
·
2015-11-02 11:10
sequence
pku
1699 Best Sequence DFS+剪枝
http://poj.org/problem?id=1699 题意: 现在给出几个基因片段,要求你将它们排列成一个最短的序列,序列中使用了所有的基因片段,而且不能翻转基因。,这些基因可以重叠,只要一个基因的后段和一个基因的前端一样,就可以将其重叠链接在一起。现问将这些 基因全部排列出来,最短的长度为多少。 思路: 给出的数据量比较小相信爆搜+剪枝是可以的。首先是要预处理一下每两个基因片段合
·
2015-11-02 11:09
sequence
上一页
38
39
40
41
42
43
44
45
下一页
按字母分类:
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
其他