当前位置: 首页 > news >正文

网站建设 容易吗百度浏览器网页版

网站建设 容易吗,百度浏览器网页版,ps怎么做网站界面设计,深圳网站建_企业网站设计定制D-Modulo Nine 很妙的类似区间dp, 我自己是想不到,本题解题思路来自学长的博客: 长沙橘子猫 题意 有一个长度为 nnn 的序列,你可以给每个位置填 0∼90\sim90∼9 的一个数,有 mmm 个限制,每个限制 [li,ri…

D-Modulo Nine

很妙的类似区间dp, 我自己是想不到,本题解题思路来自学长的博客: 长沙橘子猫

题意

有一个长度为 nnn 的序列,你可以给每个位置填 0∼90\sim909 的一个数,有 mmm 个限制,每个限制 [li,ri][l_{i}, r_{i}][li,ri] 要求区间内的数相乘必须为 999 的倍数,问一共有多少种合法的填数方案。

思路

破题点:博主在定义自己的方程时意识到,区间是不连续的两个端点组成的,我们枚举前 iii 个数则是一位位顺序来的,这样转移方程就不会很顺利。
于是我们可以尝试往将区间也能随着我们顺序遍历来解决的方向虑,于是就引申出解法中,以右端点编号将所有右端点相同的区间的左端点存入同一个桶的做法。 (实际上我们只需要存最大左端点即可)

而我们每遍历一位数,枚举当前可能填入的数之后就可以着手考虑如何让右端点为 iii 的所有区间合法考虑,因为我们找到只要区间内包含两个及以上的 333 就能保证合法(0/90/90/9 本身就代表两个 333),于是就能引申出dp方程的状态 j,kj,kjk 分别代表离 iii 最近的两个 333 的位置,dpjkdp_{jk}dpjk,就能轻易根据当前 iii 桶里存储的区间来判断 dpjkdp_{jk}dpjk 的方案合不合法。

代码

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 60, mod = 1e9 + 7;
int n, m;
ll f[N][N]; //前i个数 当前已经填过的数的最后一个3在j, 倒数第二个在i
vector<int>g[N];void add(ll &x, ll y){x = (x + y + mod) % mod;
}void solve(){for(int i = 0; i <= n; i ++){g[i].clear();for(int j = 0; j <= n; j ++) f[i][j] = 0;}for(int i = 1; i <= m; i ++){int l, r;cin >> l >> r;g[r].push_back(l); // 根据右端点存储左端点, 其实根据转移方程只需要记录最大的左端点即可,因为只要最大的左端点被满足,那么小一些的肯定也能被满足}f[0][0] = 1;for(int i = 1; i <= n; i ++){/* 计算所有可能结果 */for(int j = i - 1; ~j; j --){for(int k = j; ~k; k --){if(f[k][j] != -1){add(f[i][i], f[k][j] * 2); // 0 / 9add(f[j][i], f[k][j] * 2); // 3 / 6f[k][j] = f[k][j] * 6 % mod; // 非3的倍数}}}/* 根据所给区间剔除不合法的解 */for(auto l : g[i]){ // 根据当前填数的点为右端点遍历所有的左端点, 那么对于所有区间l ~ i 中没有两个以上3的都视为不合法for(int j = 0; j < l; j ++){for(int k = j; k <= i; k ++){f[j][k] = -1;}}}}ll ans = 0;for(int i = 0; i <= n; i ++){for(int j = 0; j <= i; j ++) {if(f[j][i] != -1) add(ans, f[j][i]);}}cout << ans << "\n";
}int main(){ios::sync_with_stdio(false);cin.tie(nullptr); cout.tie(nullptr);while(cin >> n >> m){solve();}return 0;
}
http://www.khdw.cn/news/59914.html

相关文章:

  • 怎么将公司网站设成首页深圳seo优化公司搜索引擎优化方案
  • 网站开发知识体系静态网站开发
  • 网站的建设属于无形资产宁波正规seo推广公司
  • 怎样做团购网站郑州百度快照优化排名
  • 友山建站优化百度搜索引擎排行榜
  • 做网站需要学会什么软件济南做网站公司
  • 各大网站rss订阅源地址如何查询网站收录情况
  • 电子商务网站建设的一般过程深圳网站建设优化
  • 沈阳网站排名公司武汉百度开户电话
  • ui设计app界面设计流程优化排名推广教程网站
  • 龙口做网站网站如何推广出去
  • 源码上传网站广告联盟怎么赚钱
  • 杭州九鸿科技网站开发产品推广朋友圈文案
  • 要建设网站香港百度广告
  • 做产品的往这看 国外工业设计网站大全湘潭seo培训
  • 好优化网站设计济南网站优化
  • 长沙模板建站服务公司手机百度搜索
  • 谁做视频网站百度怎么推广自己的店铺
  • 宜宾今日头条新闻昆明seo建站
  • 个人网站什么好搜索网站大全
  • 电影网站怎么做运营和营销是一回事吗
  • html网站怎么做视频郑州网站制作推广公司
  • 深圳做网站d公司惠州seo关键词推广
  • 手机网站自助建设指数
  • 南昌专业网站建设公司哪家好百度网盘官网入口
  • 做网站找雷鸣湖南省人民政府官网
  • 论mvc框架在网站开发的应用seo相关岗位
  • 企业网站 优帮云合肥疫情最新消息
  • seo站长博客网站关键词怎么添加
  • 网站建设业务的延伸性南昌seo教程