loj515贪心只能过样例

bitset练习题。。。

位运算真的是玄学。。。

一开始真的“只能过样例”

后来发现把左移写成了小于号

鬼知道我在想什么/手动微笑

loj第一题

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<set>
#include<map>
#include<stack>
#include<bitset>
#define ll unsigned long long
#define pi 3.14
#define eps 1e-9
#define inf 2147483233
#define m(a) memset(a,0,sizeof(a))
#define M(a) memset(a,127,sizeof(a))
#define REP(i,m,n) for(int i=1;i<=n;i++)
#define DWN(i,n,m) for(int i=n;i>=1;i++)
#define lowbit(x) x&(-x)
using namespace std;
inline int read()
{
    int x=0,f=1;
    char ch=getchar();
    while(!isdigit(ch)){if(ch==‘-‘)f=-1;ch=getchar();}
    while(isdigit(ch)){x=10*x+ch-‘0‘;ch=getchar();}
    return x*f;
}
inline void write(int x)
{
    int num=0;
    char buf[15];
    while(x)buf[++num]=(x%10)+‘0‘,x/=10;
    while(num)putchar(buf[num--]);
    putchar(‘\n‘);
}
int n,l,r;
bitset<1010101>bs[2];
int main()
{
    n=read();
    bs[0][0]=1;
    for(int i=1;i<=n;i++)
    {
        l=read(),r=read();
        for(int j=l;j<=r;j++) bs[i&1]|=(bs[!(i&1)]<<(j*j));
        bs[!(i&1)].reset();
    }
    write(bs[(n&1)].count());
    return 0;
}

时间: 2024-08-28 22:07:01

loj515贪心只能过样例的相关文章

LibreOJ #515. 「LibreOJ β Round #2」贪心只能过样例

二次联通门 : LibreOJ #515. 「LibreOJ β Round #2」贪心只能过样例 /* LibreOJ #515. 「LibreOJ β Round #2」贪心只能过样例 很显然 贪心方程哦不 dp方程为 f[i][j]=f[i-1][j-k*k] 但是这样的话复杂度就是O(N ^ 5) 那么就用bitset优化一下 就ok了 */ #include <iostream> #include <cstdio> #include <bitset> void

汕头市队赛 SRM10 T1 贪心只能过样例

贪心只能过样例 SRM 10 描述 给出n个数a[i](1<=a[i]<=n),问最多能把这些数分成几组,使得每个数a[i]所在的组至少有a[i]个数 输入格式 第一行一个整数n,接下来n行每行一个整数分别是a[1],a[2],...,a[n] 输出格式 一行,输出答案,一个整数 样例输入 5 2 1 2 2 3 样例输出 2 数据范围与约定 数据有梯度,分布如下: 0<n<=20 7组数据 20<n<=5000 15组数据 5000<n<=1000000

Loj515 「LibreOJ β Round #2」贪心只能过样例 - Bitset,Dp

bitset的基本应用了 类似可行性背包的dp考虑 复杂度O(nmL/64) 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 bitset <1000005> bs,bs0; 5 6 int n,a,b; 7 8 int main(){ 9 ios::sync_with_stdio(false); 10 cin>>n; 11 bs[0]=1; 12 for(int i=1;i<=n;i++){ 13 bs

LibreOJ 515 贪心只能过样例

题目链接:https://loj.ac/problem/515 题意: 给n(测试数据全是100)个数,第i个数x的取值可以在[a,b](1<=a,b<=100),求sigma(x*x)的取值有多少种. 题解: 这道题很容易得出一个O(n^5)的复杂度的一个dp(暴力),但是很明显这个复杂度是不行的. 这道题可以产生的最大的数是100*100*100=1e6,于是我们可以借助一个叫做bitset的东西来优化一下我们的dp(暴力). bitset可以看做一个bool数组(每一位都是0/1),也可

到底什么叫贪心策略(内含几个经典贪心样例和三大图论算法)

昨天和前天写完了分治和dp,感觉收获真的挺大的,复习绝不是简单的重复记忆,而是将所学知识融会 贯通的过程,分析各种思想的异同,这些都是在平时学习和刷题的时候没有认真考虑的问题 好了,扯远了 今天分析一下到底什么叫贪心策略 怎么理解贪心:贪心在解决问题上是目光短浅的,仅仅根据当前的已知信息就做出选择,并且一旦做了选择,就不再更改 比如01背包问题,用贪心的话是不可解决的,因为贪心每次只顾眼前最优,即每次选择价值最大的,而忽 略了另外一个变量,物品的重量,如果还考虑物品的重量的话,那就是dp了 贪心

IronPython 个人网站样例----宝藏挖掘

IronPython for ASP.NET 的 CTP 已经发布两个多星期了,惭愧的是,因为工作繁忙,一直没有太多时间来学习.居然忽略了 Personal Web Site Starter Kit 的 IronPython 样例.幸亏了 Scott Guthrie 这篇博客:http://blog.joycode.com/scottgu/archive/2006/11/18/86737.aspx,才让我发现了这个宝库. 今天下午花了点时间学习了一下,收获不少.记录在这里. IronPython

zookeeper实战:SingleWorker代码样例

们需要一个“单点worker”系统,此系统来确保系统中定时任务在分布式环境中,任意时刻只有一个实例处于活跃:比如,生产环境中,有6台机器支撑一个应用,但是一个应用中有30个定时任务,这些任务有些必须被在“单线程”环境中运行(例如“数据统计”任务),避免并发的原因不是在java层面,可能是在操作db数据时,或者是在消息消费时,或者是信息推送时等.某个指标的“数据统计”任务,每天只需要执行一次,即使执行多次也是妄费,因为这种类型的定时任务,需要被“单点”.同时,如果一个任务在没有报告结果的情况下异常

3proxy 二级代理配置样例

适应情况: 有时,我们的机器HOST-A只能通过代理服务器HOST-B才可以访问internet, 而与我们相连的机器HOST-C也需要访问internet, 但是HOST-C却不能直接访问HOST-A,此时可以以HOST-A为桥梁(二级代理服务器),让HOST-C访问internet,以下是开源3proxy做为二级代理服务器的配置样例 ###########################################################################    3

shell 学习一 概况及样例

shell: 1)是linux操作系统上使用的一种脚本语言,为用户与系统交互提供接口,与windows中命令提示符类似,但更为强大: 2)可以命令行执行,也可以编辑为脚本文件执行: 3)主要针对自动化简单系统或软件操作任务: 4)易于配置.维护和移植,不看中执行效率: 5)通用shell是GNU工具集中的bash(GNU Bourne-Again Shell),默认安装在/bin/bash,可以使用命令查看bash版本号:/bin/bash --version 样例: 在linux系统下打开终端