分类: 杂谈 |
题目(选自软件设计师考试 2009年下半年 试题25、26):
http://s14/mw690/6d79d83agx6BzjBMRZ34d&690
http://s6/mw690/6d79d83agx6BzjGXQQB35&690
正确答案:C B
看到这题后,我一开始感到很疑惑。发现题目中S1、S2、S3、S4这4个信号量并非是面向结点的(如果是面向结点的话,将正确答案代入无法推导到正确结果)。
首先,先来讲一下前驱图的概念:如原图,P1到P2有一条有向边,表示如果要执行P2,那么就要先执行P1,感觉类似于拓扑排序中的AOV网还有关键路径中的网,但是没有权值。再例如,对于点P3,要执行P1和P2后,才能执行P3。
浅谈
标签:
前驱题意换行符方程圣诞树it |
分类: 动态规划 |
题目:http://www.tyvj.cn/Problem_Show.asp?id=1258
题意:中文题,题意就不讲了。
分析;一道经典的DP题。如果你是C或C++选手,你只能用字符串读入数据,为什么呢?因为每一行并没有告诉你有几个数字,只是让你通过换行符来判断每一层的状态。此题输入特别坑人,假如你TLE在第1和第3个点,那是因为数据的末尾有可能会有换行或空格,所以要读到EOF才能结束。
dp的思路应该是很明显,方程也很好写,对于第i层,它有可能是由输入的数据来决定前驱状态,所以方程就为:dp[i]=max(dp[i],dp[j]+tree[i]);
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <string>
#include <map>
#include <algorithm>
#include <vector>
using namespace std;
int tree[105],dp[105];
vector <int> Pre[105];
标签:
容器函数参数算法偶数奇数it |
分类: Cpp学习 |
标签:
函数参数容器序列例子代码it |
分类: Cpp学习 |
标签:
noipdp公式大全dp动态规划dp背包问题it |