首页 > 其他分享 >【刷题笔记】2019 CSP-J

【刷题笔记】2019 CSP-J

时间:2024-09-26 21:04:20浏览次数:1  
标签:cur int 优惠卷 tot 2019 maxn CSP 刷题

2019 CSP-J 题目整理

B-公交换乘

思路梳理

先想暴力算法,一遇到公交车,就在已出现过的优惠卷中寻找价格大于等于公交车票价,并且出现时间最早且没有用过的优惠卷,时间复杂度为 \(O(n^2)\),必然会炸。但是注意题目中给到的特殊性质,要求如果优惠卷有效,则

\[t_{bus}-t_{subway}\le45 \]

并且“不会有两次乘车记录出现在同一分钟”所以,只需要,查找前面有效的优惠卷,因为车票是按时间顺寻给出的,所以只要一遇到无效车票就 \(break\),就可以将时间复杂度优化到 \(O(kn),k\le45\)

代码实现

#include<bits/stdc++.h>
#define maxn 500010
using namespace std;
struct node{
    int w,t;
}q[maxn];
int n,opt,tot=0,ans=0;
bool vis[maxn];
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin>>n;
    for(int i=1;i<=n;i++){
        int t,w;
        cin>>opt>>w>>t;
        if(opt==0){
            q[++tot].t=t;
            q[tot].w=w;
            ans+=w;
        }
        else{
            int cur=-1;
            for(int j=tot;j>=1;j--){
                if(t-q[j].t>45)break;
                if(q[j].w>=w&&!vis[j]){
                    cur=j;
                }
            }
            if(cur!=-1)vis[cur]=1;
            else ans+=w;
        }
    }
    cout<<ans;
    return 0;
}

标签:cur,int,优惠卷,tot,2019,maxn,CSP,刷题
From: https://www.cnblogs.com/GSNforces/p/18434341

相关文章

  • SSRF类型的CTF题目[De1CTF 2019]SSRF Me1
    启动BUUCTF靶场,先查看一下提示:显示出flag的文件路径是/flag.txt发现是一段python代码,整理一下:#!/usr/bin/envpython#encoding=utf-8fromflaskimportFlaskfromflaskimportrequestimportsocketimporthashlibimporturllibimportsysimportosimportjson......
  • CSP 模拟 33
    A商品对于一个数对\((x,y)[x<y]\),无论怎样选择区间,这个数对的贡献都是\(y-x\),那么考虑对于所有数对,把\(x\)和\(y\)分别放到一起,排好序。如果当前区间确定,在两个数组二分一下,前缀和就能处理出答案。显然区间越大越好,所以只考虑区间左端点,考虑只对于点对\((x,y)\)来说,\(l......
  • 信息学奥赛复赛复习04-CSP-J2019-04-加工零件-位运算、整数映射0或1、结构体、初始化
    PDF文档回复:20240926<12019CSP-J题目4加工零件[题目描述]凯凯的工厂正在有条不紊地生产一种神奇的零件,神奇的零件的生产过程自然也很神奇。工厂里有n位工人,工人们从1∼n编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存在一条传送带如果......
  • CSP模拟3
    T1奇观挺有趣的思路,每个字母相互独立,\(C\)和\(F\),我们可以把\(C\)分成一个两个端点和一个三个端点的路径(以同一个起点开始),而\(F\)为了方便统计,我们也可以把它分成两个两个端点和一个三个端点的路径(同样是以同一个端点为起点)。那我们定义$s_{i}=\sum_{j}[(i,j)双向......
  • 信息学奥赛复赛复习04-CSP-J2019-04-加工零件-位运算、整数映射0或1、结构体、初始化
    PDF文档公众号回复关键字:2024092612019CSP-J题目4加工零件[题目描述]凯凯的工厂正在有条不紊地生产一种神奇的零件,神奇的零件的生产过程自然也很神奇。工厂里有n位工人,工人们从1∼n编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存在一条传送带......
  • Windows Server 2019 Web服务器之IIS的安装与基本配置
    准备工作:选择一台服务器作为WEB-IIS服务器在WindowsServer2019系统中,IIS角色是可选组件,默认情况下是没有安装的。1.在windows服务器中安装IIS1)打开【服务器管理器】,单击【添加角色和功能】。2)默认选择【基于角色或基于功能的安装】,点击【下一步】。3)默认选项,继续下一步。......
  • 冲刺CSP联训模拟1
    A.几何设\(f_{i,j,k}\)表示前\(i\)个字符,分为两部分,分别为\(x\)的几倍加\(x\)的前\(j\)位,\(y\)的几倍加\(y\)的前\(k\)位,是否合法分别判断下一位\(i+1\)能否与\(x\)的下一位\(j+1\)和\(y\)的下一位\(k+1\)匹配,匹配上了就转移.最终答案就是\(f_{|s|......
  • 力扣刷题——2306. 公司命名
    根据题意,很容易就能想到用哈希表来做。先写一个最简单的暴力,完全就是模拟。longlongdistinctNames(vector<string>&ideas){intn=ideas.size();unordered_map<string,int>um;for(inti=0;i<n;i++){um[ideas[i]]=1;}long......
  • CCF CSP-S 2024 提高组初赛解析
    CertifiedSoftwareProfessional-Senior非专业级软件能力认证测试本解析不提供阅读程序与完善程序题目的代码,如有需要请通过luogu.com.cn相关链接下载如有谬误烦请指正答案AACBBBDABDACBCD✓××BC✓✓✓BCC✓×✓CACAAAAAAABAA单项选择1在Linux系统中,如......
  • [34](CSP 集训)CSP-S 联训模拟 1
    A几何重复若干次->不能重叠,因此考虑直接暴力DP设\(f_{i,j,k}\)表示主串匹配到第\(i\)位(将前\(i\)位分别归为两类),其中\(x\)在重复了若干次后,又匹配到了第\(j\)位,\(y\)在重复了若干次后,又匹配到了第\(k\)位转移非常好写,枚举\(i\),尝试把\(s_{i}\)分别与\(x_......