Walking on the Safe Side  Square City is a very easy place for people to walk around. The two-way streets run North-South or East-West dividing the city into regular blocks. Most street intersections are safe for pedestrians to cross. In some of th…
题目链接:825 - Walking on the Safe Side 题目大意:给出n,m,现在给出n行数据, 每行有k(k为不定值)个数字, 第一个数字代表行数, 后面k - 1个数代表当前行的这个位置不可走, 问有多少路径可以从(1,1)到(n,m),只能向下或向右. 解题思路:dp[i][j] = dip[i - 1][j] + dp[i][j - 1], 很简单的dp问题. #include <stdio.h> #include <string.h> const int…
题目链接:uva 10581 - Partitioning for fun and profit 题目大意:给定m,n,k,将m分解成n份,然后依照每份的个数排定字典序,而且划分时要求ai−1≤ai,然后输出字典序排在k位的划分方法. 解题思路:由于有ai−1≤ai的条件.所以先记忆化搜索处理出组合情况dp[i][j][s]表示第i位为j.而且剩余的未划分数为s的总数为dp[i][j][s],然后就是枚举每一位上的值.推断序列的位置就可以. #include <cstdio> #include…
记忆化搜索,完事... Code /** * UVa * Problem#10285 * Accepted * Time:0ms */ #include<iostream> #include<fstream> #include<sstream> #include<algorithm> #include<cstdio> #include<cstring> #include<cstdlib> #include<cctyp…
[题目链接]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=378 [题意] 给你n个方形; 由3个属性,长宽高决定; 你可以任意摆放这个方形(即把哪一面朝下方); 然后每种方形都有无限个; 一个方形能够摆在另外一个方形上面,当且仅当这个方形的长和宽都严格大于另外一个方形的长和宽(即changi>changj &&…
Problem C Longest Run on a Snowboard Input: standard input Output: standard output Time Limit: 5 seconds Memory Limit: 32 MB Michael likes snowboarding. That's not very surprising, since snowboarding is really great. The bad thing is that in order to…
题意:给定一个整数 n ,然后你要把它变成 1,变换操作就是随机从小于等于 n 的素数中选一个p,如果这个数是 n 的约数,那么就可以变成 n/p,否则还是本身,问你把它变成 1 的数学期望是多少. 析:一个很明显的期望DP,dp[i] 表示把 i 变成 1 的期望是多少,枚举每一种操作,列出表达式,dp[i] = ∑dp[i/x]/q + p/q*dp[i] + 1,其中 x 表示枚举的素数,然后 p 表示不是 i 的约数个数,q 是小于等于 n 的素数个数,然后变形,可以得到 dp[i] =…
题目:在一个N*M的网格中,从左上角走到右下角,有一些点不能经过,求最短路的条数. 分析:dp,帕斯卡三角.每一个点最短的就是走N条向下,M条向右的路. 到达每一个点的路径条数为左边和上面的路径之和. 说明:注意数据输入格式. #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> using namespace std; int smap[101][101];…
题意:有n件物品,每件物品有m个特征,可以对特征进行询问,询问的结果是得知某个物体是否含有该特征,要把所有的物品区分出来(n个物品的特征都互不相同), 最小需要多少次询问? 析:我们假设心中想的那个物体为W,首先知道的是,同一个特征不用问多次,所以首先用一个集合s表示已经问的特征,在这里面有的是W具备的,有的不是, 所以再加一个集合a表示W所以具备的特征,并且a是s的子集.d(s, a) 表示问了特征集s,其中已经确认W所具备的特征集为a时,还要询问的最少次数. 再加一个状态,继续询问呗,所以次…
Longest Run on a Snowboard Input: standard input Output: standard output Time Limit: 5 seconds Memory Limit: 32 MB Michael likes snowboarding. That's not very surprising, since snowboarding is really great. The bad thing is that in order to gain spee…