摘要:
//dp 给定n个数字和k,求找出k对数字使得所有对数字差的平方和最小//先给其从小到大进行排序,可知选取规则必须是选取相邻的两个数//状态 dp[i][j]表示从前i个数选j组差的平方和最小//当j*2==i时即i个数必须选完dp[i][j]=dp[i-2][j-1]+(a[i-1]-a[i])*... 阅读全文
摘要:
//贪心,对时间按升序排序,如果时间相同则对分数按降序排序//按时间顺序来对任务进行标记 能在今天完成则标记1,如果完成不了 则往前面找分数最小//的进行交换,小的分数加入无法完成的分数.#include#include#includeusing namespace std;struct homew... 阅读全文
摘要:
//记忆化搜索//从左上角走到右下角,每次只能往右走和往下走//每个格子有一个数表示在次处能继续走的步子,问从终点到起点有多少种走法//dp[i][j]表示走到i,j处有多少种走法//开始时先标记dp[n][m]=1,表示走到终点有一种走法,然后就开始记忆化搜索= =,详细看代码#include #... 阅读全文
摘要:
dp,题意自己看,不再赘述把起点和终点和起点也看做加油站,则用dp数组来记录到每个加油站的最短时间dp[i]=min(dp[j]+t,dp[i]) 0#define INF 999999using namespace std;double dp[105];int main(){ int L; ... 阅读全文
摘要:
//数位dp,恶心到爆!!!//要多练!!#include #include #include int dp[10][3];//dp[i][j],i代表数字的位数,j代表状况//dp[i][0],表示不存在不吉利数字//dp[i][1],表示不存在不吉利数字,且最高位为2//dp[i][2],表示存... 阅读全文