首页 > 其他分享 >『模拟赛』暑假集训CSP提高模拟9

『模拟赛』暑假集训CSP提高模拟9

时间:2024-07-27 14:39:56浏览次数:10  
标签:insert begin ch 集训 mn CSP include mx 模拟

.

保龄,不放出来丢人了。

A. 大众点评

原[AT_joisc2014_d] ラーメンの食べ比べ

手贱 -100pts。

看到交互被吓了一跳,看完题面还是很懵,直到看了附件里给的样例代码。

相当于只写一部分代码,有些函数给你封好了能直接用。

思路还是很容易的,用两个随便什么容器存一下可能的最大值和最小值,我用的 set,最后一个一个查就出答案了,在 \(n\le 400\) 的情况下,最多调用 \(200+399\) 次,不会报错。

但是样例程序里没有头文件,只有一个 #include "ramen.h",开始还没注意到,后来注意到了,把万能头删了,mac 上也试运行不了,所以就交了,然后 100pts -> 0pts。

还有为啥我赛后过了不显示啊。

点击查看代码
#include<bits/stdc++.h>
#include"ramen.h"

using namespace std;
void Ramen(int N)
{
    set<int>mx,mn;
    for(int i=0;i+1<=N-1;i+=2)
    {
        if(Compare(i,i+1)==1) mx.insert(i),mn.insert(i+1);
        else mx.insert(i+1),mn.insert(i);
    }
    if(N&1) mx.insert(N-1),mn.insert(N-1);
    while(mx.size()>1)
    {
        set<int>::iterator a,b;
        a=mx.begin();mx.erase(a);
        b=mx.begin();mx.erase(b);
        if(Compare(*a,*b)==1) mx.insert(*a);
        else mx.insert(*b);
    }
    while(mn.size()>1)
    {
        set<int>::iterator a,b;
        a=mn.begin();mn.erase(a);
        b=mn.begin();mn.erase(b);
        if(Compare(*a,*b)==1) mn.insert(*b);
        else mn.insert(*a);
    }
    set<int>::iterator a,b;
    a=mx.begin(),b=mn.begin();
    Answer(*b,*a);
}

B. 录取查询

原[ABC285F] Substring of Sorted String

赛时想到线段树但没多想,因为确实还没见过这种存储查询字符有关的题。

于是打 20pts 暴力,(没想到成了这场为一的 20pts思路是存一下每个字母总共出现的次数,然后找区间的时候判断字符更改到没到该字符出现的总数即可。

正解是线段树维护区间是否递增,两端字母和字母数量。

C. 精准打击

原[ABC290G] Edge Elimination

确实精准打击到我了不是吗?再次手贱 -100pts。

正解赛时通过找二叉树的性质找到了。先预处理出来深度为 \(\left[0,d\right]\) 的满 \(k\) 叉树的节点总数,然后从小到大枚举,按贪心的思路从大往小减,找到这个最小值即可,复杂度应该是 \(\mathcal{O(d^2)}\) 的。

关于为什么又挂了

这个新题库不是可以自测

标签:insert,begin,ch,集训,mn,CSP,include,mx,模拟
From: https://www.cnblogs.com/Ratio-Yinyue1007/p/18326927

相关文章

  • Profinet远程IO模块:模拟量模块_安装与接线说明
    XD系列插片式远程IO模块是兴达易控技术研发的分布式扩展模块。XD系列成套系统主要由耦合器、各种功能IO模块、电源辅助模块以及终端模块组成。有多种通讯协议总线的耦合器,例如PROFINET、Ether0AT、EthernetIP、00linkIE以及modbusT0P等。IO模块可分为多通道数字量输入模块、数......
  • 暑假集训CSP提高模拟8
    一看见题目列表就吓晕了,还好我是体育生,后面忘了唉这场比赛没啥好写的,要不就是太难要不就是太简单要不就是拉出去写在专题里了A.基础的生成函数练习题考虑到只有奇偶性相同才能尝试加二,因此先用加一调平奇偶性,再直接加而就行了.#include<bits/stdc++.h>usingnamespacestd;......
  • 2024年暑假ACM集训第1场
    A:小青蛙跳台阶题目描述想必你应该做过这么一道题:一只小青蛙一次可以跳1级台阶,也可以一次跳2级台阶。求该青蛙跳上第N级台阶总共有多少种跳法?(假设小青蛙的初始位置是第0级台阶)现在小青蛙遇到了一点麻烦,因为其中有一级台阶是坏的,小青蛙不能跳到这一级。假设坏掉的这一级台阶......
  • [赛记] 暑假集训CSP提高模拟7, 8
    学长出题规律:T1签到题,T2套路题(但没见过),T3神奇题(赛时想的做法几乎都是错的),T4peppapig题学长:今天T3防AKpeppapig:今天比赛防爆零A.Permutations&Primes20pts签到题,可惜没有签到;显然,我们要让经过1的区间最多,所以将1放在序列中间;除了1,就是2和3,所以我们把2和3放在两边,这......
  • 2024暑假集训测试12
    前言比赛链接。T2其实和货车运输这题差不多但是由于给定图为树的部分分都没想出来压根没想到重构树,感觉不太应该,思路还是不清晰,赛时没有拿到那个部分分的,因为拿到的都顺着推出正解了;T3是道黑,赛时\(A,B\)循环输出能拿到\(40\)分,赛后重测了;T4题都看不懂。没挂分因为根......
  • 暑假集训CSP提高模拟8
    T1点击查看代码#include<bits/stdc++.h>#definelllonglongusingnamespacestd;lla[5];intmain(){ cin>>a[1]>>a[2]>>a[3]; sort(a+1,a+3+1); llans=(a[3]-a[1])/2+(a[3]-a[2])/2; a[1]+=(a[3]-a[1])/2*2;a[2]+=(a[3]-a[2])/2*2; if(a......
  • 『模拟赛』暑假集训CSP提高模拟8
    Rank诶好像把7咕了,那就咕吧。膜拜博弈论带我上Rank1。A.基础的生成函数练习题(gf)原[ABC093C]SameIntegers先给\(a\),\(b\),\(c\)按升序排个序,求出相邻两数之差。若较小的两数之差(\(a\)和\(b\))为奇数,先操作\(\lfloor{\frac{b-a}{2}}\rfloor\)次使\(a=b-1\),再操......
  • 20240726【省选】模拟
    破防了,什么SCOI2024Day1翻版,一道题可能拿100pts,一道题大多数人拿10pts,还有一道不可做,队线110/lhT1去他妈的煞笔构史题解,说了跟说了一样。这个是真的不会。容易想到对二进制每一位开一颗权值线段树或者别的啥维护,然后我就不会了……考虑将每颗权值线段树对应处理的区间......
  • 20240726模拟赛订正题笔记
    (T1)lnsyoj2212刷数组考场上切掉了,所以来说说考场上的做法。首先看数据范围,线段树并不能拿满分,所以考虑在数组上操作。如何处理区间覆盖:记录一下区间覆盖的数,然后记录第几次覆盖,单点修改或增加时查看次数被覆盖了几次,若与正常覆盖次数不符,则将此数设为新的覆盖数。考场代码如下......
  • Unity 模拟足球网的物理效果
    以下是模拟出足球网的效果,花光了好多细胞写出来的,满满的干货只需要把脚本挂载在足球网对象身上即可,代码比较通用,可以用在其他网格也可以的,只需要调节参数即可,主页也写了足球发射的脚本,搭配这个足球网的效果,可以模拟出足球踢进网时的物理效果usingUnityEngine;usingSystem......