首页 > 其他分享 >[2027届]NOIP2024模拟赛#4

[2027届]NOIP2024模拟赛#4

时间:2024-08-23 15:54:34浏览次数:8  
标签:return int ans T2 abs NOIP2024 delta 2027 模拟

比赛链接

先看榜:

image

倒数呜呜呜。

T1

最简单的一道题,但是我在看到T2以后就先鸽了,然后就一直鸽了……

简单来想,每次询问只会改变两个数字,所以与处理之后直接和最后的数字一一对应后就可以做到正确的复杂度。

T2

就是这道题,卡了我3H……

一开始看到的时候直接思路明确。

但是规律找的方法shi了,明显有更简单的方法,但是我直接一条路走到黑,但是最后走出来了(

走出来之后数据结构最开始伪了,后来想到了正解,但是因为没有动态开店而拿到了和暴力一样的分数呜。

放一下找的规律的代码:

不堪回首
int calc(int x,int y)
{
        swap(x,y);
        int ans=0;
        if(x>=0)ans=4*x*x-3*x+1;
        else ans=4*x*x-x+1;
        if(x>=0)
        {
            if(y>=0)
            {
                if(y<=x)
                {
                    ans+=y;
                    return ans;
                    
                }
                int delta=y-x-1;
                ans+=x;
                ans+=4*(2*x+delta)*(delta+1)+3*(delta+1);
                return ans;
                
            }
            if(abs(y)<x)
            {
                y*=-1;
                ans-=y;
                return ans;
                
            }
            ans-=(x-1);
            int delta=abs(y)-x;
            y=-x+1;
            ans+=(-4)*(2*y-delta)*(delta+1)+7*(delta+1);
            return ans;
            
        }
        if(y>=0)
        {
            if(abs(x)>=y)
            {
                ans-=y;
                return ans;
                
            }
            int delta=y-abs(x)-1;
            ans+=x;
            x=abs(x);
            ans+=4*(2*x+delta)*(delta+1)+3*(delta+1);
            return ans;
            
        }
        if(abs(x)>=abs(y))
        {
            ans+=abs(y);
            return ans;
            
        }
        int delta=abs(y)-abs(x);
        x=abs(x);
        ans+=x;
        ans=ans+4*delta*(2*x+delta+1)-delta;
        return ans;
}

T3

因为T2,导致没有一点时间想正解了,所以写了暴力分就鸽了。

正解显然01trie,转移的时候分两种情况统计即可。

T4

压根没看题,是黑题,但是有一种玄学根号DP做法可以过。

标签:return,int,ans,T2,abs,NOIP2024,delta,2027,模拟
From: https://www.cnblogs.com/Lydic/p/18376104

相关文章

  • [赛记] 暑假集训CSP提高模拟27
    最后一场了,还是写写吧;线性只因40pts赛时把与看成或了,最后才发现,结果我的神奇代码交上去得了40pts。。。从高位到低位依次考虑,若这一位是1的数大于m则统计并删除其它的数;否则直接跳过;点击查看代码#include<iostream>#include<cstdio>usingnamespacestd;intn,m;......
  • [赛记] 暑假集训CSP提高模拟26
    这场rank4,应该是暑假以来打的最好的一场了。。。其它时候就没进过前10。。。博弈30pts赛时$O(n^2)$暴力30pts;对于暴力,我们能发现一个性质就是只要有一类边权出现了奇数次,那么先手必胜,所以我们枚举每一个点对,开个数组统计一下即可;不要忘了离散化;对于正解,用到了一个东......
  • 【题解】Solution Set - NOIP2024集训Day14 CDQ分治
    【题解】SolutionSet-NOIP2024集训Day14CDQ分治https://www.becoder.com.cn/contest/5482「CF364E」EmptyRectangles*3000摆烂了。「SDOI2011」拦截导弹CDQ的例题,之前做过(现在试图自己再做出来。第二问只用在第一问里面记录每一次是从哪个\(j\)​转移过来的,以及......
  • 2024.8.23 模拟赛总结
    A.distStatement:给定一棵\(n(n\le10^6)\)个节点带边权的树,定义\(\mathrm{Min}(x,y)\)是\((x,y)\)路径上的边权最小值。求\(\max_{r=1}^n{\sum_{v\nei}\mathrm{Min}(r,v)}\)。Solution:经典套路题。首先注意到一条路径上的只有最小值才会产生贡献,于是对于......
  • WPF 模拟UWP原生窗口样式——亚克力|云母材质、自定义标题栏样式、原生DWM动画 (附我封
    先看一下最终效果,左图为使用亚克力材质并添加组合颜色的效果;右图为MicaAlt材质的效果。两者都自定义了标题栏并且最大限度地保留了DWM提供的原生窗口效果(最大化最小化、关闭出现的动画、窗口阴影、拖拽布局器等)。接下来把各部分的实现一个个拆开来讲讲。一、使用窗口材质特......
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——6.vector(模拟实现)
    1.存储结构namespacezone{ template<classT>//需要模板 classvector { public:private: iterator_start; iterator_finish; iterator_endofstorage;};}可见,vector内核是由三个指针实现的2.默认成员函数 2.1.构造函数1.初始化列......
  • YC327B [ 20240821 CQYC NOIP 模拟赛 T2 ] 括号串(bracket)
    题意给定\(S\in\{(,),?\}\)。定义深度为括号嵌套的子序列的最大长度除以\(2\)。求出将\(?\)替换为括号的所有括号串的深度之和,对\(998244353\)取模。\(n\le10^6\)。Sol考虑如何把每次贡献只计算一次。不难想到在括号的中心点计算。可以发现,若当前左右括号......
  • 【C/C++ 软件开发模拟面试 集】cmake 相关知识点模拟面试
    摘自:https://zhuanlan.zhihu.com/p/662623216第一轮:基础知识 1.1什么是CMake? 面试官: 请问你能简单描述一下CMake是什么,以及它通常用来做什么吗? 面试者: CMake是一个跨平台的自动化构建系统,主要用来管理软件构建的过程,它使用一个名为CMakeLists.txt的配置文件来指导编......
  • 幽默重开模拟器
    可以按照人口比例得出的概率预测下一次投胎会在哪个国家或地区。https://wwcl.lanzn.com/igaEE285u2jc密码:gzij居然是自己一个一个复制的国家人口数量代码:#include<iostream>#include<string>#include<vector>#include<random>#include<ctime>#include<cstdlib>typede......
  • CSP 模拟 26
    T1博弈博弈策略是显然的,只有当所有数的数量全是偶数是,才是后手必胜,考虑随机异或哈希,找一遍后直接统计。T2跳跃容易想到的是一个\(\mathcal{O}(nk)\)的dp,但是带了\(k\),比较难处理。可以这样考虑,最后一定是到了一个位置\(x\),以\(x\)为右端点,在它的区间最大左端点之间反......