首页 > 其他分享 >CSP2019 J2参考解析

CSP2019 J2参考解析

时间:2022-10-02 17:56:46浏览次数:70  
标签:pre P5662 解析 CSP2019 int J2 J2019 CSP

目录

CSP2019 J2

题目传送

P5660 [CSP-J2019] 数字游戏

  • 解析:简单题,没说的
点击查看代码
#include<bits/stdc++.h>
using namespace std;

int main(){
    int ans=0;
    string s; cin>>s;
    for(int i=0; i<s.size(); i++){
        if(s[i]=='1') ans++;
    }
    cout<<ans<<endl;
    return 0;
}

P5661 [CSP-J2019] 公交换乘

解析:也是一个模拟题,可以直接暴力模拟

  • 如果是 subway, money+=price.

  • 如果是 bus,看有没有免费票

  • 免费票的查询可以每次从第一次行程开始,但是这样复杂度为 O(n^2)会超时。

  • 所以可以根据时间限制 45 分钟进行优化,开一个pre记录当前最早可用票的位置,这样复杂度整体可以维护在 O(n)。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+10;
int n,op[N],t[N],price[N],pre=1;
LL money=0;

int main(){
//    freopen("data.in", "r", stdin);
    cin>>n;
    for(int i=1; i<=n; i++) cin>>op[i]>>price[i]>>t[i];
    for(int i=1; i<=n; i++){
        if(op[i]==0){ // subway
            money += price[i];
        }else if(op[i]==1){// bus
            while(t[i]-t[pre] > 45) pre++;//时间优化
            int flag=0,p=pre;
            while(p<i){ // 找免费票
                if(op[p]==0&&t[i]-t[p]<=45&&price[i]<=price[p]){
                    t[p]=-50, flag=1; break;
                }
                p++;
            }
            if(flag==0) money+=price[i];
        }
    }
    cout<<money<<endl;
    return 0;
}

P5662 [CSP-J2019] 纪念品

P5663 [CSP-J2019] 加工零件

标签:pre,P5662,解析,CSP2019,int,J2,J2019,CSP
From: https://www.cnblogs.com/hellohebin/p/16749121.html

相关文章

  • freeRTOS源码解析3--port.c 3
    接着上一篇继续解析。2、port.c源码解析2.6vPortEndScheduler这个函数的作用我还不清楚,暂时先按函数名字面意思来理解,就是用于结束调度器的。1voidvPortEndSchedul......
  • uni-app如何解析html标签
    uni-app如何解析html标签,主要包括uni-app如何解析html标签使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。一、导入rec......
  • 参数解析原理
    ctrl+n搜索DispatcherServlet,再搜索doDispatch按住doDispatch,鼠标点击进入protectedvoiddoDispatch(HttpServletRequestrequest,HttpServletResponseresponse)thr......
  • 【yaml】python解析yaml的 None类型
    1、问题做接口测试自动化时,参数传递时,默认给的null,直接写None会被解析成字符串  2、出问题的格式 打印“Total':'None' 3、正确的解析成None的方法方式一,......
  • 刷题-HJ22 汽水瓶
    描述某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。数据范围:输入的正整数满......
  • CSP2020 J2参考解析
    目录CSP2021J2P7071[CSP-J2020]优秀的拆分P7072[CSP-J2020]直播获奖P7073[CSP-J2020]表达式P7074[CSP-J2020]方格取数CSP2021J2题目传送P7071[CSP-J2020]......
  • TI AM5728 SDK升级之 linux设备树解析,以网口cpsw为例
    如果一个结点描述的设备有地址,则应该给出@unit-address。多个相同类型设备结点的name可以一样,只要unit-address不同即可,如本例中含有cpu@0、cpu@1以及serial@101f0000与seri......
  • AUSTOj2
    #include<stdio.h> //若用printf,scanf,getchar,putchar,gets,puts函数需包含该头文件#include<malloc.h> //用malloc,free,realloc函数需包含该头文件#defineMAXSIZE1......
  • LCD屏幕驱动解析(一)如何在LCD屏幕上画出点和线
    ============= 目标 =====================如何在LCD屏幕上画出点和线=======================================一、学习体悟1.如何编写测试程序?如何与makefile综合起来......
  • CSP2021 S2参考解析
    目录CSP2021S2P7913[CSP-S2021]廊桥分配airportP7914[CSP-S2021]括号序列bracketP7915[CSP-S2021]回文palinP7916[CSP-S2021]交通规划trafficCSP2021S2......