递归 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 5 using namespace std; 6 7 const int max_n = 100+2; 8 9 int dp[max_n][max_n]; 10 i ...
分类:
其他好文 时间:
2020-02-03 17:29:59
阅读次数:
68
引用博客 【引入】 首先我们要清楚数位dp解决的是什么问题: 求出在给定区间 [A,B] 内,符合条件 f(i) 的数 i 的个数。条件 f(i) 一般与数的大小无关,而与数的组成有关 由于数是按位dp,数的大小对复杂度的影响很小 【设计搜索】 这里我们使用记忆化搜索实现数位dp。本质上记搜其实就是 ...
分类:
其他好文 时间:
2020-02-01 19:05:34
阅读次数:
88
背包dp总结 背包每次写每次都不会,再次又学习了基础的背包,后面的遇到再补吧 01背包 首先对于每种物品可以取后者不取,所以我们可以写出记忆化的代码 $dp[pos][val]$表示容量为$val$,选后$pos$个物品的最大价值 每种物品取或不取,然后暴搜记忆化 cpp int V, n; int ...
分类:
其他好文 时间:
2020-01-29 23:37:21
阅读次数:
89
https://vjudge.net/contest/353157#problem/A 一开始用的记忆化搜索= = 样例能过不知道为啥提交WA = 。= = 。= 1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 ...
分类:
其他好文 时间:
2020-01-28 12:39:19
阅读次数:
60
题链 tips: 1.对于简单的Nim游戏,a1^...an;ai就是sg函数值。 2.一堆石子就是一个有向图;可以按条件转移局面。 3.sg函数的定义有递归的味道,所以用记忆化搜索来写。 5.sg(x)=k,则局面x可以转移到0~k-1。 4.puts输出字符串会自动换行 //sg函数的定义本身就 ...
分类:
其他好文 时间:
2020-01-27 13:59:07
阅读次数:
87
题意: "题目连接" 直线上有若干线段,要求从中选取若干条不相交的线段,同时左端点尽量靠左,使得线段总长尽可能短 思路: 线性动态规划。 太菜了想不出方程,干脆直接记忆化搜索 启示: 记忆化搜索能极大减小思维难度 code: ...
分类:
其他好文 时间:
2020-01-25 16:56:13
阅读次数:
75
题意: 给出N,B,D,要求输出N个十进制数字,他们之间的Hamming距离在长度为B位的时候都等于D。 思路: 感觉图论就是一个,允许我们记忆化的边权好工具!(废话用edges存边了还不是当然的) 代码: /* ID :ggy_7781 TASK :hamming LANG :C++11 */ # ...
分类:
其他好文 时间:
2020-01-23 22:53:43
阅读次数:
148
"C. Two Arrays" $dp[i][j]$表示有$j$个数每个数的范围为$1~i$时的非递减排列种数,因为 n 和 m 的数据范围也不大,用记忆化搜索很快可以得出每一个值。 再来看满足条件时的$(a,b)$,$a$为非递减序列,$b$为非递增序列,所以$b$的最后一个数大于等于$a$的最后 ...
分类:
其他好文 时间:
2020-01-15 13:31:07
阅读次数:
67
【摘要】逆向思维是一种思考问题的方式,它有悖于通常人们的习惯,而正是这一特点,使得许多靠正常思维不能或是难于解决的问题迎刃而解。本文通过几个例子,总结了逆向思维在信息学解题中的应用。 【关键字】 逆向思维容斥原理参数搜索 二分动态规划记忆化 【正文】 引言 我们先看一个简单的问题: 平面上有四个点, ...
分类:
其他好文 时间:
2020-01-06 09:37:31
阅读次数:
88
参考 https://zh.wikipedia.org/wiki/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92 https://juejin.im/post/5a29d52cf265da43333e4da7 动态规划(英语:Dynamic programming,简称DP ...
分类:
其他好文 时间:
2019-12-30 20:53:41
阅读次数:
72