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
DP-杂题
ZOJ 3213 Beautiful Meadow(插头
DP-
一条路径最大值,不固定头尾)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3396 题意:给定一个n*m的寻宝图。有些位置不能走,其余位置每个位置都有一个宝藏。从一个位置出发到另一个位置结束(这两个位置都是可以自己选择的),每个格子最多走一次。求最大价值。 思路:第一道头尾不固定的单路径。增加了一个Num,表示当前已经使用的独立插头的数目,
·
2015-11-11 14:29
ZOJ
HDU 3377 Plan(插头
DP-
路径最大值)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3377 题意:给出一个n*m的数字格子。从左上角出发到达右下角,每个格子最多走一遍。求最大值。 思路:设格子是(1,1)到(n,m),将(0,1)增加下插头,将(n+1,m)格子设为可走。另外,对于没有左和上插头的格子,可以不设插头。 #include <iostream> #in
·
2015-11-11 14:28
HDU
ZOJ 3256 Tour in the Castle(插头
DP-
按行递推—矩阵)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3540 题意:给出一个n*m的方格。从左上角走到左下角每个格子只能走一次。有多少种? 思路:首先,按行递推,得到一个矩阵,表示两个状态是否可以连接。那么最关键的判断两行是否可连接。上一行的一个状态,枚举当前行的插头的状态,就是有无插头,2^n,然后根据上一行的插
·
2015-11-11 14:27
cast
HDU 1964 Pipes(插头
DP-
回路最小代价)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1964 题意:给定一个n*m的格子,以及相邻格子之间的代价。求一个代价最小的回路。 思路:每次用最小的代价更新;每次转移时加上转移代价。 #include <iostream> #include <cstdio> #include <string.h>
·
2015-11-11 14:26
HDU
状态压缩
DP-
棋盘模型总结
论文:《周伟ftfish --- 动态规划之状态压缩》 关键之处在于: ①针对棋盘不同限制用dfs把每行可行的状态压缩表示成一个数存到s[]。 ②枚举当前处理行和上一行的状态时根据题目限制判断状态是否互斥。 ③有时棋盘上会有些点不能放置,我们也把一行中不能放置的点压缩成一个数存到no[]中,比如用00011000表示第3列和第4列不能放置。然后处理当前行时如果s[j1] & no[i] =
·
2015-11-11 12:31
总结
状态压缩
DP-
棋盘模型总结
论文:《周伟ftfish --- 动态规划之状态压缩》 关键之处在于: ①针对棋盘不同限制用dfs把每行可行的状态压缩表示成一个数存到s[]。 ②枚举当前处理行和上一行的状态时根据题目限制判断状态是否互斥。 ③有时棋盘上会有些点不能放置,我们也把一行中不能放置的点压缩成一个数存到no[]中,比如用00011000表示第3列和第4列不能放置。然后处理当前行时如果s[j1] & no[i] =
·
2015-11-11 12:30
总结
HOJ分类
***************************************************************** 简单题(包括枚举,二分查找,(复杂)模拟,基础数据结构(栈、队列),
杂题
等
·
2015-11-11 04:30
分类
ZOJ2666 Irrelevant Elements [数论]
这是道有意思的题,在LRJ的
杂题
中有提到,题意是这样的:有n(n<=10^5)个数,每个数在[0,m), m <= 10^9中随机选一个数,对这n个数,做这样的操作,相邻的两个数求和后变成n
·
2015-11-11 04:27
element
BUAA 421 10Mat01(数学
杂题
)
题目链接:http://acm.buaa.edu.cn/problem/421/ 题意:给出一个n*n的01矩阵。求四个角都一样的矩形有多少个? 思路:枚举两列,统计这两列中对应位置均为0或1的个数,设为x0和x1,则这两列中的合法矩形为C(x0,2)+C(x1,2)。 #include <iostream>#include <cstdio>#include <
·
2015-11-09 14:04
mat
(C#习题)
杂题
1
1. Deference between "private","protected","public","internal" access modifiers. 2. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。 Fibon
·
2015-11-09 13:22
C#
杂题
(好题)
/*给出一个字符串,输出以每个字符为开头的最长回文子串长度。 *多样例。 *每个样例一个字符串长度不超过100000。 *每个样例输出n行,第i行表示以第i个字符为起点的最长回文子串长度。 **后一个开头的回文串长度最小为前一个回文串长度-2 */ #include #include #include #include #include #include #include #include #in
acm_fighting
·
2015-11-09 10:00
Abandon の
DP-
动态规划【专辑】(长期更新)
—— “Hala, Abandon!”~ ------------------------------------------------------------- ◊线性DP: 经典DP原型系列: °NOIP 1999 拦截导弹 (最长下降子序列入门) 思路:比较简单,第一问最长不上升子序列;第二问贪心即可(有人证明第二问等价于求最长
·
2015-11-08 16:31
动态规划
HDU 3555 Bomb (数位
DP-
记忆化搜索模板)
题意 求区间[1,n]内含有相邻49的数。 思路 比较简单的按位DP思路。这是第一次学习记忆化搜索式的数位DP,确实比递推形式的更好理解呐,而且也更通用~可以一般化: 【 数位DP模板总结】 int dfs(int pos, int pre, int flag, bool limit) { if (pos == -1) return flag==target_flag; if
·
2015-11-07 15:44
HDU
HDU 3555 Bomb (数位
DP-
记忆化搜索模板)
题意 求区间[1,n]内含有相邻49的数。 思路 比较简单的按位DP思路。这是第一次学习记忆化搜索式的数位DP,确实比递推形式的更好理解呐,而且也更通用~可以一般化: 【 数位DP模板总结】 int dfs(int pos, int pre, int flag, bool limit) { if (pos == -1) return flag==target_flag; if
·
2015-11-07 15:30
HDU
HDU-2089-数位
DP-
不要62
题意求区间[N,M]中求不含62及4的个数思路数位DP/*************************************************************************>FileName:main.cpp>Author:Chazz>CreatedTime:2015年11月04日星期三15时42分51秒********************************
sinluan
·
2015-11-04 17:00
HDU-1176-数塔
DP-
免费馅饼
题意都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别
sinluan
·
2015-11-04 17:00
ACM
[hdu5218]
DP-
约瑟夫环变形
题意:n个人围成一圈,另外一个人最开始站在第一个人前面,每次从集合s里面随机选一个数x,这个人顺时针经过x个人后停下来,当前位置的前一个人出队,然后继续进行,求最后剩下的那个人的可能编号。 思路:由于只求最后一个人的编号,可以将一次操作后的人进行重编号,来进行状态转移,转化为子问题用dp来解决。dp方程比较容易写出,注意下细节就好了。 1 #pragma comment(linke
·
2015-11-02 16:51
约瑟夫环
CodeForces 37C(
杂题
题意:给出N个01串的长度,任意一个01串不能是另一个串的前缀,要求输出这些串。 开始很迷茫,主要是感觉很难输出,要判定是否有解还是挺容易的。看了下官方题解,由于串的数目一定,可以把所有能用的串都加到队列里,如果数目足够就停止加入。然后就是依次输出,没注意顺序WA了一次,,,,然后代码改得好丑。。 #include<iostream> #include<map>
·
2015-11-02 11:52
codeforces
Codeforces Round #311 (Div. 2)-C(
杂题
——(终于紫名辣!!
题意:桌子有若干个腿,只有长度最长的腿的数目是所有腿的数目的一半以上的时候才是稳定的,去掉每个腿有一个花费,现在问最小花费是多少 思路:注意这个题有个关键点就是d的值非常小,只有200,实际上这个问题可以总结为下面这个问题:前x个数中最小的k个数的和是多少?只要解决这个问题,本题也就迎刃而解了,而这个子问题由于d很小,可以记录d值出线的次数,然后O(d)暴力就好,当然也可以二分,更快。 然后这
·
2015-11-01 14:23
codeforces
HOJ---10814 Wooden Sticks[线性
DP-
求最少不递增子序列+结构体排序]
Wooden Sticks Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB Total submit users: 145, Accepted users: 127 Problem 10814 : No special judgement Problem descript
·
2015-10-31 11:47
结构体
【
DP-
最大子串和】PAT1007. Maximum Subsequence Sum
1007. Maximum Subsequence Sum (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a sequence of K integers { N1, N2, ..., NK }. A contin
·
2015-10-31 10:30
sequence
HDOJ---2159 FATE[
DP-
背包问题]
FATE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3984 Accepted Submission(s): 1763 Problem Desc
·
2015-10-31 10:28
dp
HDU 4578 线段树复
杂题
题目大意: 题意:有一个序列,有四种操作: 1:区间[l,r]内的数全部加c。 2:区间[l,r]内的数全部乘c。 3:区间[l,r]内的数全部初始为c。 4:询问区间[l,r]内所有数的P次方之和。 这里p可以等于1,2,3三种情况,所以我们需要建立3个数组,当然这里其实只用一个sum[4*N][3]的2维数组其实更好 to[],add[],mul[]为三个懒惰标记to[]先于另外
·
2015-10-31 09:04
HDU
[
杂题
]CSUOJ1276 Counting Route Sequence
题目链接 题意:从1号点走到n号点(每条边只能走一次, 两结点间的边数必定为奇数) 问 经过结点不同顺序的方式有多少种(如1->2->3->4和1->3->2->4为两种) 方法数模上1000000007 此题只需先考虑相邻两结点交替的方法数 然后依次递推相乘即可 就是:如从1走到5 只需先考虑2、3交替的方法数:(很明显与边数有关的
·
2015-10-28 08:27
sequence
[
杂题
]CSUOJ1413 Area of a Fractal
题目链接 题意:题中给了图,所以不看字大概也知道 求的是第n个图形的面积。 就是找规律 递推 一类的... 先给结论: 很鬼畜的公式: $\displaystyle\frac{3\times 17^n+2\times 7^n}{5}$ 递推式是: $\displaystyle S_n
·
2015-10-28 08:26
RAC
[
杂题
]CSUOJ1274Balls and Boxes
题目链接 题意:中文题 题意不多赘述 值得注意的是n<m 不必考虑n==m的情况 (m是盒子个数, n是每次选取的盒子个数, 不要弄反了!) 这题一看就是同余方程 每次选取n个盒子放球 也就是说每次都增加n个球 最后m个盒子中球的个数相等, 也就是最终状态球的总数为m的倍数 于是 很容易能得到同余方程:sum+x*n=y*m (sum
·
2015-10-28 08:26
ls
[
杂题
]URAL1822. Hugo II's War
看懂题意的请直接跳过下一坨! 本人有表达障碍! ========================================== 题意: (题意真的很难很难懂啊!!! 去他娘的**) 有一个王国,王国里有一个国王(编号为1),他有(编号为2~n) n-1个臣子(这些臣子并不全和他有直接关系) 然后呢 国王要去打架,但是只有当他的x%个及以上的直系下属(与他有直接关系的臣子)
·
2015-10-27 13:22
war
[
杂题
]FZU2190 非提的救赎
中文题,题意不多说。 本来感觉很像dp 其实只要从上到下维护单调性就好了 坑是......这个oj......用cin很容易TLE...... 1 //#include <bits/stdc++.h> 2 #include <cstdio> 3 #include <cstdlib> 4
·
2015-10-27 12:14
UVA 12563 Jin Ge Jin Qu hao
dp-
背包 开始用普通dp写了一发发现没法确定最大时间。。。 后来看到大牛机智的写法,嗯。。。
·
2015-10-23 08:24
uva
黑书-
DP-
方块消除 ****
具体题目见 《算法艺术与信息学竞赛》P123 或 http://tyvj.cpwz.cn/Problem_Show.asp?id=1227 (可提交) 以下是代码(转自:http://www.cnblogs.com/jiaohuang/archive/2010/10/20/1856294.html) 1 /* 2 方块消除 3 先压缩下状态用把每种颜色压到一位,记录下每一位的长度
·
2015-10-21 12:57
dp
简单
DP-
艰难取舍
艰难取舍(seq.cpp/c/pas)【题目描述】由于hyf长得实在是太帅了,英俊潇洒,风流倜傥,人见人爱,花见花开,车见车载。有一群MM排队看hyf。每个MM都有自己独特的风格,由于hyf有着一颗包容的心,所以,什么风格的MM他都喜欢……但是,hyf有一个特别的要求,他不希望总是看到风格得差不多的MM,更加特别的是,如果两个MM风格完全一样,hyf不会有任何意见。现在,hyf希望从去看他的MM中
Darksun2010
·
2015-10-19 15:00
第一层内容:
杂题
接上一篇博客,这篇课文其实没讲什么内容(
杂题
要是能讲出固定的算法我也就服了。。。),诸位有兴趣的就看看吧,聊以自慰。
int_int_int
·
2015-09-29 20:42
USACO刷怪记
【
杂题
】CodeforcesRound #315 (Div. 2)569C Primes or Palindromes?
题目链接题目大意:令g(x)表示x以内的素数个数,f(x)表示x以内回文数的个数。求最大的x使得g(x) #include #defineLLlonglongint #defineMAXN1200005 usingnamespacestd; LLphi[MAXN],b[MAXN],p,q; intnum[35]; boolflag[MAXN]; booljudge(intx){ intcnt=
cqbztsy
·
2015-08-12 21:00
codeforces
div-2
给出两个年月日,计算出天数差。
杂题
,目前正在学习C++,学习过程中碰到的题目。贴出来。给出两个年月日求出天数差。如果从一月份算到十二月份,由于闰年和平年二月的天数不同,计算过程会有点麻烦,因此作如下转换。
Leo_wait
·
2015-07-12 17:01
杂题
2015广东省赛总结
首先这个学期本身投入到ACM的时间不是很多,有时候想起来就去做一下,平时训练的时候也就是做做cf或者做做其他的
杂题
,不系统,大部分时间在搞高数。
u010787640
·
2015-05-29 15:00
poj
杂题
- 2081 Recaman's Sequence
这道题目一开始就能知道考点在如何缩短查找时间。所以加快查找是我们的重点。但是在大数据面前,查找算法都不够快,所以我们用简单的hash思想来做。我们开一个数组a,当出现了一个数b时,把该数作为下标调整值,即a[b]=-1,下一次出现该值的时候直接去找这个值作为下标的a值是否为-1即可。#include #include #defineMAX5000010 intp[MAX]={0}; ints[MA
u010006643
·
2015-05-11 15:00
poj
poj
杂题
- 2231 Moo Volume
一开始以为是longlong输入,后来发现用int就行,,,反正也是一个挺简单的题目,直接贴代码了。#include #include intcows[10005]={0}; intmain(){ intn,i,j; longlongres=0,temp; scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&cows[i]); } for(i=1;i<=
u010006643
·
2015-05-09 09:00
poj
poj
杂题
- 1147 Binary codes
N位的二进制串连续N次循环移位,得到N个二进制串。对其按照字典序排列,得到一个N*N的矩阵。告诉矩阵最后一列,求矩阵第一行。拿这个题目例子讲解吧。00011 00110 01100 10001 11000我们看到最后一列是10010,因为是按照字典序排列,也就是0在1前面,那这个每一行的第一个数字肯定是从0到1的,因为是最高位嘛,所以我们将最后一列排序出第一列是00011。接下来就很神奇了。我们将
u010006643
·
2015-05-06 18:00
poj
poj
杂题
- 1013 Counterfeit Dollar
判断硬币题。这道题目没咋知道怎么做,看了其他人的discuss才有了思路。一,EVEN时,两边都是真币二,非EVEN时,没上天平的都是真币三,曾经被认为可能偏重,又出现在偏轻的一方的是真币。我们可以用一个数组zeros存储一定是真币,即出现在even情况内的那些;另一个数组sus存储对可能是假币的怀疑情况,当出现在up时,左边的硬币sus--,右边的++。down时反过来,这样我们通过判断正负就能
u010006643
·
2015-05-04 20:00
poj
poj
杂题
- 1959 Darts
这一题放在
杂题
里,是因为我没有用DP,而是使用的枚举,当然是受到了discuss里面的启发。因为我们只能有三次机会,每一次只可以是固定的63个数,所以枚举感觉更加直观,但是不知道是不是没有DP快。
u010006643
·
2015-05-04 18:00
动态规划
poj
poj
杂题
- 1083 Moving Tables
这道题最主要的是看懂题目即可。我们需要算出搬动桌子的最短时间,根据这个图可以知道不同房间占用同一走廊。这道题里1-4,2-3显然占用同一走廊,但是2-3和4-5也占用了房间4和房间3的那个走廊,所以注意这个数据的最短时间是20,不是10。搞清楚这个就好做了,我们可以将房间偶数/2,奇数/2+1,这样2-3变成了1-2,4-5变成了2-3,自然占用了走廊。#include #include #def
u010006643
·
2015-05-03 10:00
poj
POJ 1463 Strategic game(树形
DP-
树上的点集覆盖模型)
题意:一城堡的所有的道路形成一个n个节点的树,如果在一个节点上放上一个士兵,那么和这个节点相连的边就会被看守住,问把所有边看守住最少需要放多少士兵。思路:和最大独立集的思路差不多,转移方程差不多,用0,1表示子树的根放不放士兵 dp[root][0]+=dp[son][1]; dp[root][1]+=min(dp[son][1],dp[son][0]); #include #include
kalilili
·
2015-03-29 09:00
HDU 1520 Anniversary party(树形
DP-
最大独立集)
大意:很多领导,能形成一个树形关系网,这些领导参加一个party,每个人都有一个能使party活跃的值,但是每个人又不喜欢跟自己的直接领导同时参加party。为使party气氛最好,求最好气氛值。思路:法一:对子树的根按两种决策找到状态方程,然后用刷表法法二:细化状态,dp[i][0],dp[i][1]分别表示不选i时的最大集和选了i时的最大集法二的方法更实用,状态细化后更便于找状态方程法二代码:
kalilili
·
2015-03-29 09:00
POJ3342 Party at Hali-Bula(树的最大独立集-树形
DP-
刷表法)
题意:给定一个树,选择若干点,使得选择的结点中任一结点不会和它的子结点同时选择,求能选结点最大数量。同时判断方案数是否为一。思路:树的最大独立集,用树形dp,dfs一遍找每个结点的父亲,是为了从下向上刷每个结点儿子的最大独立集和and每个结点孙子的最大独立集和的表判断方案数是否唯一同样在树形dp的同时递推判断即可算法复杂度可以是线性//248K0MSC++ #include #include #i
kalilili
·
2015-03-14 11:00
poj3140--Contestants Division(树形
dp-
水题)
ContestantsDivisionTimeLimit: 2000MS MemoryLimit: 65536KTotalSubmissions: 8469 Accepted: 2420DescriptionInthenewACM-ICPCRegionalContest,aspecialmonitoringandsubmittingsystemwillbesetup,andstudentswill
u013015642
·
2015-03-13 19:00
杂题
排序——HDU 1862
对应HDU题目:点击打开链接EXCEL排序TimeLimit:10000/5000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):14085 AcceptedSubmission(s):5462ProblemDescriptionExcel可以对一组纪录按任意指定列排序。现请你编写程序实现类
u013351484
·
2015-03-10 22:00
UVA 10453 Make Palindrome(区间
dp-
补全回文串+打印结果)
题目大意:给一个字符串,要求添加最少个字符,把它变成回文串,并输出。思路:区间dp,dp[i][j]表示区间(i,j)内的字符串添加的最少个数,变成回文串那么,如果str[i]==str[j],dp[i][j]=dp[i+1][j-1]+1否则dp[i][j]=min{dp[i+1][j],dp[i][j-1]}+1;题目要输出方案,那么只要再开一个数组,根据状态转移递归输出即可#include
HelloWorld10086
·
2015-02-04 10:00
uva
10453
【
杂题
】HDOJ 4768 Flyer
因为解的个数最多只有1个。。。。所以可以用二分。。。#include #include #include #include #include #include #include #include #include #include #include #include #include #definemaxn500005 #definemaxm50005 #defineeps1e-10 #defin
blankcqk
·
2014-11-15 17:00
HDU
【
杂题
】 HDOJ 5095 Linearization of the kernel functions in SVM
签到题。。考虑细节#include #include #include #include #include #include #include #include #include #include #include #include #include #definemaxn10005 #definemaxm1000005 #defineeps1e-10 #definemod1000000007 #
blankcqk
·
2014-11-02 17:00
HDU
杂题
_POJ上的过桥问题
本文出自:http://blog.csdn.net/svitter过桥问题解释:一条船可以坐两个人,但是有很多人要过河,所以送过一个人去,另一个人还要回来接。使所有人过河之后时间最短,如何求?此问题曾作为阿里巴巴题目初看此题想的太过简单,直接让跑的最快的送过去,自己再跑回来即可。其实不然。函数g(a,b)表示过河,b(a)表示回来。如果过河时间分别为1,2,5,10那么两种过河方案:1.初想方案:
svtter
·
2014-10-17 23:00
算法
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他