简单瞎搞题(简单dp)
链接:登录—专业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)相关推荐
- 简单瞎搞题 动态规划的优化
链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 一共有 n个数,第 i 个数是 xi xi 可以取 [li , ri] 中任意的一个值. 设 S=∑xi2S = \sum{{x_ ...
- C 简单瞎搞题(牛客练习赛22)(bitset优化dp)
Bitset优化Dp 题目链接 一般DP做法 显然后面的数是与前面的数字相关的,所以我们有dp数组,dp[i][j]dp[i][j]dp[i][j]选取了jjj个数,iii是否可以被创造出来,如果可以 ...
- 刷题记录:牛客NC17193简单瞎搞题
传送门;牛客 题目描述: 一共有 n个数,第 i 个数是 xi xi 可以取 [ l i , r i ] [li , ri] [li,ri] 中任意的一个值. 设 S = ∑ x i 2 S = \s ...
- 牛客网 【每日一题】5月20日题目 简单瞎搞题
比赛链接 文章目录 题目描述 题解: 代码: 题目描述 输入描述: 第一行一个数 n. 然后 n 行,每行两个数表示 li,ri. 输出描述: 输出一行一个数表示答案. 示例1 输入 5 1 2 2 ...
- 解题报告:简单瞎搞题(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 ≤ ...
- HDU 4923 Room and Moor(瞎搞题)
瞎搞题啊.找出1 1 0 0这样的序列,然后存起来,这样的情况下最好的选择是1的个数除以这段的总和. 然后从前向后扫一遍.变扫边进行合并.每次合并.合并的是他的前驱.这样到最后从t-1找出的那条链就是 ...
- 【XSY3952】简单的计数题(dp)
题面 简单的计数题 题解 首先题意可以转化为:给你一个长度为 nnn 的序列 ccc,求将 ccc 分成两个长度为 n2\dfrac{n}{2}2n 的相同的子序列的方案数. 考虑 dp,设 f(i ...
- [XSY] 简单的博弈题(博弈+dp+组合数+容斥)
简单的博弈题 对于贪心的对手,显然用最大的一半和他最小的一半比较判断是否全胜.(这不就是田忌赛马吗) 对于随机的对手,先考虑暴力怎么做: void check(int x,int w){if(x> ...
- 简单的数据结构题(多项式、拉格朗日插值、线段树)
简单的数据结构题 首先考虑计算要求的式子,不妨设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 ...
最新文章
- 【廖雪峰Python学习笔记】函数式编程
- 二分枚举+贪心(nyist疯牛)
- 2020年应届生找工作难?Python爬虫解析疫情之下用人市场中的机遇与挑战
- win10开机慢怎么解决_细说Win10启动慢怎么办
- winform弹出唯一窗体的方法
- 数据结构 最长公共子序列问题
- 对于最近爆火的区块链,投资人怎么看? | 聚焦
- 01背包 (dp专题)
- mysql 跳过checksum_MySQL-Utilities:mysqldbcompare及跳过复制错误
- Oracle数据库常用Sql语句大全
- wireshark显示过滤器和捕获过滤器
- 提取KML文件上 点 的经纬度
- 用 Windows Media Center 免费看大片 (一)
- java语言与其他语言的区别是_浅谈Java语言和其他语言的区别
- 微信小程序商店 | 即速商店_福利类小程序
- 关于自建数据中心机房和租用云服务器各方面对比分析
- 相机标定:现实到虚拟世界的映射关系
- 【Android春招每日一练】(十二) 剑指4题+Android基础
- 2 thinkcmf5.0 pc端和移动端自动切换
- win7 html 插件,win7系统清理插件的三种方法