题目链接

题目

题目描述

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

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

设 \(S = \sum{{x_i}^2}\) ,求 S 种类数。

输入描述

第一行一个数 n。

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

输出描述

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

示例1

输入

5
1 2
2 3
3 4
4 5
5 6

输出

26

备注

1 ≤ n , li , ri ≤ 100

题解

知识点:背包dp,STL。

多重背包思路,每个整数 \(x_i\) 当作 \([l_i,r_i]\) 个不加区分的 \(1\) 组成,再用一个数组 \(dp[i][j]\) 表示为考虑到 \(x_i\) 数 \(j\) 是否出现过。转移方程为:

\[dp[i][k] |= dp[i-1][k-j^2],j\in [l_i,r_i]
\]

可以用 bitset 常数优化时间和空间。

时间复杂度 \(O(n(r-l) \cdot \frac{10^6}{32})\)

空间复杂度 \(O(n \cdot \frac{10^6}{32})\)

代码

#include <bits/stdc++.h>

using namespace std;

bitset<1000007> dp[107];

int main() {
std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int n;
cin >> n;
dp[0][0] = 1;
for (int i = 1;i <= n;i++) {
int l, r;
cin >> l >> r;
for (int j = l;j <= r;j++) {
dp[i] |= dp[i - 1] << j * j;
}
}
cout << dp[n].count() << '\n';
return 0;
}

NC17193 简单瞎搞题的更多相关文章

  1. 【ACM算法竞赛日常训练】DAY2题解与分析【比赛】【数学考试】【简单瞎搞题】

    DAY2共三题: 比赛(概率) 数学考试(前缀和与思维) 简单瞎搞题(dp) 视频讲解:https://www.bilibili.com/video/BV1hP411o7RD/ 作者:Eriktse ...

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

    一共有 n个数,第 i 个数是 xi  xi 可以取 [li , ri] 中任意的一个值. 设 ,求 S 种类数. 输入描述: 第一行一个数 n. 然后 n 行,每行两个数表示 li,ri.   输出 ...

  3. 简单瞎搞题(bitset的操作)

    链接:https://www.nowcoder.com/acm/contest/132/C来源:牛客网 题目 一共有 n个数,第 i 个数是 xi  xi 可以取 [li , ri] 中任意的一个值. ...

  4. 牛客练习赛22 C 简单瞎搞题

    //位运算 // & 都是1 才是 1 // | 都是0 才是0 // ^ 不一样才是1 #include <iostream> #include <cstdio> # ...

  5. 牛客 132C 简单瞎搞题 (bitset)

    大意: 给定序列$a$的第$i$个元素的取值范围$[L_i,R_i]$, 求$a$的平方和的种类数. 用bitset优化, 复杂度$O(\frac{n^5}{\omega})$ #include &l ...

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

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

  7. B. Salty Fish Go! -期望题(瞎搞题)

    链接:https://www.nowcoder.com/acm/contest/104/B来源:牛客网 题意:A few days ago, WRD was playing a small game ...

  8. 【瞎搞题】gym226123 L. For the Honest Election

    http://codeforces.com/gym/226123/problem/L 题解:手摸几组数据,发现一个规律:将n 质因数分解,答案就是 每个质因数/2+1后再乘起来. 然后考虑2的情况: ...

  9. TOJ3097: 单词后缀 (字典树 or map瞎搞)

    传送门 (<---可以点击的~) 时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte 描述 有些英语单词后缀都是一样的,现在我们需要从给定的一堆单词里 ...

  10. ubuntu--基础环境瞎搞集合

    安装ubuntu系统后有很多东西需要自己瞎搞一下,这里把一些瞎搞的过程记录在这里,方便以后重新装系统后重新配置. 一.安装. 可以在windows下制作启动盘(软碟通),然后开机u盘启动即可安装,预留 ...

随机推荐

  1. React报错之Property does not exist on type 'JSX.IntrinsicElements'

    正文从这开始~ 总览 当组件名称以小写字母开头时,会导致"Property does not exist on type 'JSX.IntrinsicElements'"错误.为了 ...

  2. 基于python+django的家教预约网站-家教信息管理系统设计与实现

    该系统是基于python+django开发的家教预约网站.是给师妹做的课程作业.大家在学习过程中,遇到问题可以在github给作者留言. 效果演示 前台地址: http://jiajiao.gitap ...

  3. C# WPF:快把文件从桌面拖进我的窗体来!

    首发公众号:Dotnet9 作者:沙漠之尽头的狼 日期:202-11-27 一.本文开始之前 上传文件时,一般是提供一个上传按钮,点击上传,弹出文件(或者目录选择对话框),选择文件(或者目录)后,从对 ...

  4. redis-持久化-RDB-AOF.png

  5. [转帖]renice和nice

    https://www.cnblogs.com/qiynet/p/17555881.html 将行程 id 为 987 及 32 的行程与行程拥有者为 daemon 及 root 的优先序号码加 1 ...

  6. [转帖]goproxy的设置

    goproxy.io 是全球最早的 Go modules 镜像代理服务之一 [大陆地区建议使用 proxy.golang.com.cn],采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱 ...

  7. [转帖]浅谈RAID写惩罚(Write Penalty)与IOPS计算

    https://www.dell.com/community/%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E5%92%8C%E4%BF%9D%E6%8A%A4-%E8%B ...

  8. [转帖]webpagetest 私有化部署

    https://www.jianshu.com/p/83bd6b3473ae 介绍 webpagetest 是一款开源的 web 性能测试工具,开源地址,每个人都可在其公共实例上对自己的 web 应用 ...

  9. [转帖]ssh时不输入YES

    vim /etc/ssh/ssh_config 60行新添加 StrictHostKeyChecking no

  10. [转帖]解读内核 sysctl 配置中 panic、oops 相关项目

    写在前面 本篇文章的内容主要来自内核源码树 Documentation/admin-guide/sysctl/kernel.rst文件. softlockup vs hardlockup softlo ...