题目链接:
啊哈哈,点我点我
题意:
给一个只含有1,2的序列,怎样变换n次使序列成为一个非递减的序列,并且使n最小。
思路:
这道题的数据范围是50000,则肯定承受不了n方的复杂度,所以 只能写O(n)的算法,甚至更小,所以当时想二分,但是不知道怎么写,忽然想到可以枚举每个位置,把每一个位置都当做一个分界点,然后求前半部有多少个2,后半段有多少个1,最后和全部是1和2进行比较,这...
分类:
其他好文 时间:
2014-08-08 09:43:31
阅读次数:
233
题意 linda在一个幼儿园当老师 他要把n个学生排成一列 使只有m对学生能够讲话 当两个学生相邻或者他们之间的所有人都比他们矮时 他们就能够讲话
每个学生的身高都不同
令d[i][j]表示把i个学生排成一列使j对学生能够讲话的方法数
可以把i个学生分成i-1个学生和一个最矮的学生 把这个学生放在i-1个学生中任意两个学生之间都不会影响原来的结果 但是能讲话的学生对数增加了2 有i-2种放法
或者把这个最矮的学生放在两边 这样能讲话的对数只增加了1 有两种放法
所以有转移方程d[...
分类:
其他好文 时间:
2014-08-08 09:39:05
阅读次数:
265
My first solution was DFS - TLE. Apparently, DFS with TLE usually means DP.1D DP + Rolling Array:class Solution {public: bool wordBreak(string s, u...
分类:
其他好文 时间:
2014-08-08 08:27:25
阅读次数:
280
和poj3107,poj1655一样的方法#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define INF 100000000...
分类:
其他好文 时间:
2014-08-08 04:18:05
阅读次数:
350
和poj1655的方法完全一样,但是这道题的n的范围大了,用vector存图会TLE,所以改用前向星来存图就可以了。这里解释一下前向星存图的方法:其实就是用静态链表来实现邻接链表,这样可以避免使用指针。head[i]数组来记录每个节点的第一条边;每条边用结构体e[i]来存,e[i].v表示这条边指向...
分类:
其他好文 时间:
2014-08-08 04:17:45
阅读次数:
321
搬寝室Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17065Accepted Submission(s): 5785Problem Descri...
分类:
其他好文 时间:
2014-08-08 04:17:15
阅读次数:
217
方法:就记节点1为树的根,两次dfs,第一次求出每个节点的所有子孙再加上它自己的节点总数num[i]。第二次就算出每个节点的balance值bal[i],算的时候就比较节点i它所有子节点的num值(删掉它之后以每个它的子节点为根形成一棵新树)还有n-num[i]的值(删掉i之后它的父节点及其相关节点...
分类:
其他好文 时间:
2014-08-08 04:16:45
阅读次数:
237
#include
#include
#include
using namespace std;
#define INF 0x3f3f3f3f
const int N = 1005;
int n;
double p, pl, pr, dp[N];
double solve() {
p = 1 - pl - pr;
dp[0] = 0; dp[1] = 1 / p;...
分类:
其他好文 时间:
2014-08-08 02:04:15
阅读次数:
251
这题 自己没做出来啊 擦看了别人的解题报告 才发现自己读错题了 草。。。我理解成( i , j )周围的4个格子不能取 。。。 题目给的图 都没有仔细看那就懒得分析了 直接贴下别人的 自己的思维也被定势了 不能有新的做法了 ---传送---touch me注意将 数组开大点。。。其实 这题就是求 每...
分类:
其他好文 时间:
2014-08-08 01:55:35
阅读次数:
180
FZU 2079 最大获利(dp) 自己很难想到,囧 dp[i]表示处理完前i 个点的最大收益。有两种情况:(1)第i 个点不投资,那么dp[i] = dp[i - 1](2)第i 个点投资,那么dp[i] = max(dp[k] + get(k + 1,i) - sigma(c[j]) (k + ...
分类:
其他好文 时间:
2014-08-08 01:53:45
阅读次数:
331