集训队日常训练20181201 C 1003 : 种类数
时间限制(普通/Java):2000MS/6000MS 内存限制:65536KByte
总提交: 8 测试通过:5
描述
一共有 n个数,第 i 个数是 xi ,其中xi 可以取 [li , ri] 中任意的一个值。
设 ,求 S 种类数。
第一行一个数n,接下来有n行,每行两个整数li,ri。
1<=n,li,ri<=100,数据保证li<=ri。
输出
输出一行一个数表示答案。
样例输入
5
1 2
2 3
3 4
4 5
5 6
样例输出
26
解析:用bitset优化,dp,每输入一个范围,就是在前面已经计算的基础上加上这次范围内的数,每一次都加上l 到 r的范围的值,用|代替加法,<<i*i把答案加入到数组中。状态转移方程是a[i]|=a[i-1]<<(i*i);
#include "bits/stdc++.h"
#define ll long long
using namespace std;
inline void read(int &x)
{
x=;char c=getchar();
while(c<'' || c>'')c=getchar();
while(c>='' && c<=''){
x=x*+c-'';
c=getchar();
}
}
inline void write(int x)
{
int y=,len=;
while(y<=x) {y*=;len++;}
while(len--){y/=;putchar(x/y+);x%=y;}
}
bitset<>a,b;
int main()
{
int n,l,r;
read(n);
b[]=;
while(n--)
{
read(l);read(r);
a.reset();
//b.reset();
//b[0]=1;
for(int i=l;i<=r;++i)
{
a|=b<<(i*i);
}
b=a;
}
printf("%d\n",b.count());
}
集训队日常训练20181201 C 1003 : 种类数的更多相关文章
- 集训队日常训练20181201 E 1005 : 小蝌蚪
时间限制(普通/Java):500MS/1500MS 内存限制:65536KByte总提交: 25 测试通过:5 描述 有 n 个装着小蝌蚪的水缸排成一排,你拥有一个无限 ...
- 集训队日常训练20181117 DIV2
大佬们一顿操作猛如虎,拼命AC强啊 4262: 区间异或 Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal ...
- 集训队日常训练20181124 DIV2
急急忙忙要出去比赛就拉了一场有点sb的题目 5202: 网络寻路 时间限制(普通/Java):1000MS/3000MS 内存限制:65536KByte总提交: 15 ...
- 集训队日常训练20181110 DIV2 题解及AC代码
4375: 孪生素数 Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 324 ...
- 集训队日常训练20180525-DIV1
A.2805 N*M的图,每次浇水(X1,Y1)-(X2,Y2)围成的矩形,问最后有多少点被浇水了. 暴力. #include<bits/stdc++.h> using namespace ...
- 集训队日常训练20180513-DIV1
A.3132 给一个有向图,问能否从任意点出发都能进入一个环中. 深搜. #include<bits/stdc++.h> using namespace std; ; vector< ...
- 集训队日常训练20180525-DIV2
A.2295 求有多少素数对和等于n. 暴力. #include <bits/stdc++.h> using namespace std; int ss(int n) { ,a=sqrt( ...
- 集训队日常训练20180518-DIV2
A.3232 n个物品,换取要花积分,问刚好花完积分能换最大多少价值的物品. 多重背包. #include <bits/stdc++.h> using namespace std; ]; ...
- 集训队日常训练20180518-DIV1
A.3583 n根木棍是否能分成相等两堆. 背包dp,首先求和sum,如果为偶数就说明不行,否则考虑做一个sum/2大小的背包. #include<bits/stdc++.h> using ...
随机推荐
- JavaScript监控页面input输入整数且只能输入2位小数
<input type="text" id="money" /> <script> $(function () { $('#money' ...
- 第四周Java作业
老师说让用二维数组找最大,也就是最大和块,要求必须挨着,我其实不会写这个程序,所以我只能把自己的思路写出来 我觉得可以大问题缩小,我的思路是先把四个数一个正方形来进行计算,然后六个数矩形,把他化成两个 ...
- Matlab文件和数据的导入与导出
ref: https://blog.csdn.net/zengzeyu/article/details/72530596 Matlab文件和数据的导入与导出 2017年05月19日 15:18:35 ...
- django--如何将数据结果集序列化传给前端页面展示
示例为一对多的表关系,学生为多,老师为一,设置外键字段可以为空,也就是说关联的老师被删除该学生依然存在,只是相应字段留空 class Teacher(models.Model): name = mod ...
- windows10 右键 manage 没反应
发现自己的windows10右键 This PC,然后点manage没反应..... 想到直接找到对应的可执行文件,但是苦于不知道可执行文件的名. 经过在网上搜索,可执行文件是:C:\Windows\ ...
- Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配
office版本:2016 系统版本:win10 问题描述: 1.桌面新建excel表格后,打开时,提示“Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效.请确定文件未损坏,并且文 ...
- Rsync+unison双向文件同步
1.配置RSYNC服务器的同步源: 基于SSH同步源 rsync -avz /server/rsyncd/* chen@172.16.23.204:/client/rsyncd 基于RSYNC同步源 ...
- 简单尝试Spring Cloud Gateway
简单尝试Spring Cloud Gateway 简介 Spring Cloud Gateway是一个API网关,它是用于代替Zuul而出现的.Spring Cloud Gateway构建于Sprin ...
- C# 键盘钩子
p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...
- 【数据结构】算法 LinkList (Reverse LinkedList) Java
反转链表,该链表为单链表. head 节点指向的是头节点. 最简单的方法,就是建一个新链表,将原来链表的节点一个个找到,并且使用头插法插入新链表.时间复杂度也就是O(n),空间复杂度就需要定义2个节点 ...