首页 > 其他分享 >csu 1554: SG Value 思维题

csu 1554: SG Value 思维题

时间:2022-10-20 11:38:42浏览次数:72  
标签:1554 val ss int op csu include SG 组合成

​http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1554​

这题在比赛的时候居然没想出来,然后发现居然是做过的题目的变种!!!!

先不考虑插入操作,就给定一堆数字,求出不能组成的最小的那个正数。

思路是,排序,然后维护一个区间[L, R]表示当前能组合成的数字。比如1、2就能组合成[1, 3]的所有数字。

那么下一个数a_i,我们需要其不能大于R + 1,否则会断,R + 1就是不能组合成的最小数字,比如a_i = 5就GG。

那么这题增加了插入操作。

我们只需要维护其递增排序,查询的时候,按照上面思路查询就好了。

比如1、2、5,那么前两个数可以组合成[1, 3],就可以把那两个数字pop掉了,不用重复计算。

csu 1554: SG Value  思维题_ios

csu 1554: SG Value  思维题_ios_02

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <assert.h>
#define IOS ios::sync_with_stdio(false)
using namespace std;
#define inf (0x3f3f3f3f)
typedef long long int LL;


#include <iostream>
#include <sstream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <string>
#include <bitset>
multiset<LL>ss;
int n;
void work() {
LL R = 0;
ss.clear();
for (int i = 1; i <= n; ++i) {
int op;
cin >> op;
if (op == 2) {
while (ss.size() && *ss.begin() <= R + 1) {
R = R + *ss.begin();
ss.erase(ss.begin());
}
cout << R + 1 << endl;
} else {
LL val;
cin >> val;
ss.insert(val);
}
}
}

int main() {
#ifdef local
freopen("data.txt", "r", stdin);
// freopen("data.txt", "w", stdout);
#endif
while (cin >> n) work();
return 0;
}

View Code

 

标签:1554,val,ss,int,op,csu,include,SG,组合成
From: https://blog.51cto.com/u_15833059/5779567

相关文章

  • D - Simple String CSU - 1550
    ​​http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1550​​很久都没补这题,最近想学网络流,就看看,队友以前用网络流过的,Orz,但是这题只需要简单的判断,可能想起来有点麻......
  • csu 1552: Friends 二分图 + Miller_Rabin
    ​​http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1552​​把那n个数写两次,分成相同的两堆,判断相加是质数的,连一条边,然后找最大匹配,ans=最大匹配/2做的时候一直......
  • csu 1551: Longest Increasing Subsequence Again BIT + 思维
    预处理last[i]表示以第i个开始,的合法后缀。pre[i]表示以第i个结尾,的合法前缀。那么每一个数a[i],肯定是一个合法后缀last[i]+一个合法前缀,那么合法前缀的数字要小于a[i],并......
  • RedisGraph图形数据库多活设计方案
    目前CMDB使用RedisGraph存储各种关系映射数据,数据的重要性不言而喻,所以数据的防灾、高性能及高可用非常重要。目前现状RedisGraph是单节点运行,存在数据防灾、高可用、性能不......
  • 帆软杯武汉大学新生赛 I 犹太棋(博弈,SG函数)
    题目链接题意"犹太棋"是一种经典的巴什博弈游戏,本题的游戏由其玩法改编而来。你并不需要了解关于"犹太棋"的知识,只需要仔细阅读以下的规则说明:有一个长为\(n\),宽为\(......
  • django报错 'WSGIRequest' object has no attribute 'session'
    最新学python的django后台用到session,报错'WSGIRequest'objecthasnoattribute'session'开始以为是session问题,结果去掉session仍报类似'WSGIRequest'objecthasno......
  • 一种新的CNN可视化方法,目标选择性梯度(TSG)反向传播
    公众号ID|ComputerVisionGzq​论文地址:​​https://arxiv.org/pdf/2110.05182.pdf​​计算机视觉研究院专栏作者:Edison_G在过去的几年里,对深度神经网络的解释性研究,在深度学......
  • SuperMap加载三维模型数据(osgb格式)——以SuperMap iDesktop 10i为例
    目录一、生成配置文件(.scp)二、新建球面场景三、添加三维切片缓存图层 一、生成配置文件(.scp)1.1打开三维数据,配置文件,生成配置文件(如图);1.2配置文件设置(如图);①源数......
  • test34-文件输入输出序列化和反序列化 msgpack map用法
    #!/usr/bin/envpython#-*-encoding:utf-8-*-'''importcsvheaders=['学号','姓名','分数']rows=[('202001','张三','98'),('202002','李四','95'),('202003&......
  • 数据集 | 20NewsGroup新闻数据集
    下载数据集请登录爱数科本数据集包含20个不同主题的英文新闻,涵盖信息技术、自然科学、政治、宗教等多个领域。该数据集是用于文本分类、文本挖掘和信息检索研究的国际标准数......