链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网

题目描述

一共有 n个数,第 i 个数是 xi

xi 可以取 [li , ri] 中任意的一个值。

设 S=∑xi^​2,求 S 种类数。

输入描述:

第一行一个数 n。
然后 n 行,每行两个数表示 li,ri。

输出描述:

输出一行一个数表示答案。

示例1

输入

5
1 2
2 3
3 4
4 5
5 6

输出

26

题目分析

题目显然为分组背包,设f【i】【j】=0or1表示前i个数能否表示j;

转移为f【i】【j】=1仅当f【i-1】【j-x*x】=1时(x=【l【i】,r【i】】);

这样会枚举n,区间长度和j的值,即复杂度为1e10,超时...

这样其实比较浪费,f数组是一个只有01两个值的数组,于是可以考虑用bitset来优化它。

这样一行就可以一起求,如果用f【i】表示第i行的01串,那么有转移方程:

f【i】=f【i】| (f【i-1】<<(x【i】^2))。

代码

#include<bits/stdc++.h>
using namespace std;
bitset<1000010>f[110];
int l[110],r[110];
int main ()
{int n;cin>>n;for(int i=1;i<=n;i++)cin>>l[i]>>r[i];f[0][0]=1;for(int i=1;i<=n;i++){for(int j=l[i];j<=r[i];j++)f[i]|=(f[i-1]<<j*j);}cout<<f[n].count();return 0;
}

简单瞎搞题(简单dp)相关推荐

  1. 简单瞎搞题 动态规划的优化

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 一共有 n个数,第 i 个数是 xi xi 可以取 [li , ri] 中任意的一个值. 设 S=∑xi2S = \sum{{x_ ...

  2. C 简单瞎搞题(牛客练习赛22)(bitset优化dp)

    Bitset优化Dp 题目链接 一般DP做法 显然后面的数是与前面的数字相关的,所以我们有dp数组,dp[i][j]dp[i][j]dp[i][j]选取了jjj个数,iii是否可以被创造出来,如果可以 ...

  3. 刷题记录:牛客NC17193简单瞎搞题

    传送门;牛客 题目描述: 一共有 n个数,第 i 个数是 xi xi 可以取 [ l i , r i ] [li , ri] [li,ri] 中任意的一个值. 设 S = ∑ x i 2 S = \s ...

  4. 牛客网 【每日一题】5月20日题目 简单瞎搞题

    比赛链接 文章目录 题目描述 题解: 代码: 题目描述 输入描述: 第一行一个数 n. 然后 n 行,每行两个数表示 li,ri. 输出描述: 输出一行一个数表示答案. 示例1 输入 5 1 2 2 ...

  5. 解题报告:简单瞎搞题(bitset的应用)

    题目链接:https://ac.nowcoder.com/acm/contest/5556/E 输入 5 1 2 2 3 3 4 4 5 5 6 输出 26 备注: 1≤n,li,ri≤1001 ≤ ...

  6. HDU 4923 Room and Moor(瞎搞题)

    瞎搞题啊.找出1 1 0 0这样的序列,然后存起来,这样的情况下最好的选择是1的个数除以这段的总和. 然后从前向后扫一遍.变扫边进行合并.每次合并.合并的是他的前驱.这样到最后从t-1找出的那条链就是 ...

  7. 【XSY3952】简单的计数题(dp)

    题面 简单的计数题 题解 首先题意可以转化为:给你一个长度为 nnn 的序列 ccc,求将 ccc 分成两个长度为 n2\dfrac{n}{2}2n​ 的相同的子序列的方案数. 考虑 dp,设 f(i ...

  8. [XSY] 简单的博弈题(博弈+dp+组合数+容斥)

    简单的博弈题 对于贪心的对手,显然用最大的一半和他最小的一半比较判断是否全胜.(这不就是田忌赛马吗) 对于随机的对手,先考虑暴力怎么做: void check(int x,int w){if(x> ...

  9. 简单的数据结构题(多项式、拉格朗日插值、线段树)

    简单的数据结构题 首先考虑计算要求的式子,不妨设l=1,r=nl=1,r=nl=1,r=n. ∑i=1naik∏j≠i1−aiajai−aj\sum_{i=1}^{n}a_i^k\prod_{j\n ...

最新文章

  1. 【廖雪峰Python学习笔记】函数式编程
  2. 二分枚举+贪心(nyist疯牛)
  3. 2020年应届生找工作难?Python爬虫解析疫情之下用人市场中的机遇与挑战
  4. win10开机慢怎么解决_细说Win10启动慢怎么办
  5. winform弹出唯一窗体的方法
  6. 数据结构 最长公共子序列问题
  7. 对于最近爆火的区块链,投资人怎么看? | 聚焦
  8. 01背包 (dp专题)
  9. mysql 跳过checksum_MySQL-Utilities:mysqldbcompare及跳过复制错误
  10. Oracle数据库常用Sql语句大全
  11. wireshark显示过滤器和捕获过滤器
  12. 提取KML文件上 点 的经纬度
  13. 用 Windows Media Center 免费看大片 (一)
  14. java语言与其他语言的区别是_浅谈Java语言和其他语言的区别
  15. 微信小程序商店 | 即速商店_福利类小程序
  16. 关于自建数据中心机房和租用云服务器各方面对比分析
  17. 相机标定:现实到虚拟世界的映射关系
  18. 【Android春招每日一练】(十二) 剑指4题+Android基础
  19. 2 thinkcmf5.0 pc端和移动端自动切换
  20. win7 html 插件,win7系统清理插件的三种方法

热门文章

  1. ALTER TABLE
  2. Houdini 学习笔记(二)
  3. qrcode(2):QRCode生成和解析二维码
  4. 电脑版永恒纪元服务器正在维护,永恒纪元————【维护】12月7日更新维护公告...
  5. 编程题——完全数计算
  6. 买菜用了01 背包 wwwwwwwwwwwwww
  7. 嵌入式软件设计(定时器中断)
  8. vscode快速格式化代码(详细)
  9. Java Swing 是什么
  10. 5分钟如何快速解决CSkin不显示组件问题?