首页 > 其他分享 >NOIP2024模拟赛#18 总结

NOIP2024模拟赛#18 总结

时间:2024-11-11 21:19:24浏览次数:1  
标签:++ 18 tot int NOIP2024 sim -- 模拟 头要

头要炸了。

T1 题面很好懂,手玩了一下发现答案最小是 \((m-1)\times n\)。可能会多出来一个长度为 \(k\) 的部分,会发现如果多出来一个长度为 \(k\) 的部分且合法,那么单个串 \(1\sim k\) 位与 \(n-k+1\sim n\) 位一定相同,\(k+1\sim n\) 位与 \(1\sim n-k\) 一定相同。Hash 判一下即可。

写了个模数的 hash,发现过不去样例,改成自然溢出就过了,不懂,赌一把出题人不会卡自然溢出。(伏笔)

T2 怎么又是蛇形方阵,上一次出蛇形方阵头要炸了分数还不高,这一次打算冲一把。

\(O(n^3)\) 的就是暴力,\(O(n^2)\) 的应该需要写个函数,要 \(O(1)\) 计算 \((x,y)\) 位置的数字是多少。

然后疯狂打表。

发现对于

点击查看代码
for (int T = 1; T <= 20; ++T) {
        n = T;
        int x = 1, y = 1, tot = 0;
        for (int i = n; i > 1; i -= 2) {
            for (int j = 1; j < i; ++j) a[x++][y] = ++tot;
            for (int j = 1; j < i; ++j) a[x][y++] = ++tot;
            for (int j = 1; j < i; ++j) a[x--][y] = ++tot;
            for (int j = 1; j < i; ++j) a[x][y--] = ++tot;
            y ++, x ++;
        }
        if (n & 1) a[x][y] = ++tot;

        x = 1, y = 1;
        LL ans = 0, ans2 = 0;
        while (x <= n && y <= n) {
            if (x <= n / 2 && y <= n / 2)
                ans2 += a[x][y];
            ans += a[x][y];
            ++x, ++y;
        }
        cerr << n << ' ' << ans;
        cout << ' ' << ans2 << ' ' << ans - ans2 << '\n';
    }
    

    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= n; ++j)
            cerr << setw(4) << a[i][j];
        cerr << '\n';
    }

    for (int i = 1, lastans = 0, lastcha = 0; i <= n; ++i) {
        int x = i, y = 1;
        LL ans = 0;
        while (x <= n && y <= n) {
            ans += a[x][y];
            ++x, ++y;
        }
        cerr << i << ' ' << ans << ' ' << lastans - ans << ' ' << (lastcha - lastans + ans) << '\n';
        lastcha = lastans - ans;
        lastans = ans;
    }
    cerr << '\n';

    for (int i = 1, lastans = 0, lastcha = 0; i <= n; ++i) {
        int x = 1, y = i;
        LL ans = 0;
        while (x <= n && y <= n) {
            ans += a[x][y];
            ++x, ++y;
        }
        cerr << i << ' ' << ans << ' ' << lastans - ans << ' ' << (lastcha - lastans + ans) << '\n';
        lastcha = lastans - ans;
        lastans = ans;
    }

标签:++,18,tot,int,NOIP2024,sim,--,模拟,头要
From: https://www.cnblogs.com/zhujiangyuan/p/-/NOIP2024_18

相关文章

  • 题解:P11262 [COTS 2018] 题日 Zapatak
    https://www.luogu.com.cn/article/i7ajvm8e哈希好题。题意给定一个序列,每次询问给定两个长度相等的区间,问这两个区间是否只有一个数不一样。思路发现我们要求的信息只与数的出现次数有关,自然想到桶。那么如果有两个区间合法,那这两个区间的桶只有两个位置不同且桶内的值均相......
  • 『模拟赛』NOIP2024加赛4
    Rank给我唐完了,又名,【MX-S5】梦熊NOIP2024模拟赛1。A.王国边缘好像简单倍增就做完了。由于昨天T5在我脑海中留下了挥之不去的印象,今天一上来看到这题就发现是一个内向基环树森林。然后被硬控硬控硬控,最后一个小点加一点优化就能过没调出来,挂30pts,菜菜菜菜菜。注......
  • [1837]基于JAVA的森林清理智慧管理系统的设计与实现
    毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的森林清理智慧管理系统的设计与实现指导老师(一)选题的背景和意义选题背景与意义:随着我国生态文明建设的不断深化,森林资源保护和管理的重要性日益凸显。传统的森林管理工作大多依赖人工巡查、记录和处理,存在效率低......
  • [1831]基于JAVA的森林器械智慧管理系统的设计与实现
    毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的森林器械智慧管理系统的设计与实现指导老师(一)选题的背景和意义在当今社会,随着物联网、大数据和人工智能等先进技术的快速发展,智慧化管理已成为各行各业提升效率、优化资源分配的重要手段。在林业领域,森林器械的有......
  • luogu P1873 砍树
    题目描述伐木工人Mirko需要砍M米长的木材。对Mirko来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko只被允许砍伐一排树。Mirko的伐木机工作流程如下:Mirko设置一个高度参数H(米),伐木机升起一个巨大的锯片到高度H,并锯掉所有树比H高的......
  • 2024年全国高校计算机能力挑战赛C语言计算机能力挑战赛赛前模拟
    2024年全国高校计算机能力挑战赛C语言计算机能力挑战赛赛前模拟18拉手游戏某个班级共n(2<n<100)人玩报数游戏,同学们最初手拉手围成一圈。小明最开始站在第m(0<m<n)个位置,现在从圈内第一个位置开始报数,但凡报到3就退出圈子,问小明是第几个退出圈子的人?输入格式:一行输入两个......
  • NOIP2024加赛4
    简评:搬的梦熊的,一签一难两不可做。王国边缘倍增板子(但我不会打倍增所以场上调了半天)。记\(f_{i,j}\)表示从\(i\)开始走\(2^j\)次时走的距离,\(g_{i,j}\)表示从\(i\)开始走\(2^j\)次时走到的点,这个用倍增。处理\(f_{i,0}\)和\(g_{i,0}\)时分讨即可,卡不卡常无所谓。时空复杂度\(O......
  • 地下水数值模拟软件Visual MODFLOW Flex安装,PEST操作方法,Aquifer Test抽水试验设计,地
    主要围绕的目前应用较为广泛的VisualModflowFlex6.1软件版本开展,结合具体应用场景,实例讲解软件的全流程应用过程,包括数据处理分析、数值模型构建以及模拟结果的输出等。本教程有助于提升技术人员地下水模拟软件的操作能力,解决地下水数值模拟技术实施过程中遇到的困难。同时,......
  • 11.11 NOIP模拟赛
    T1字符串,两个相同的串一个从前往后,一个从后往前,选完后正着看都一样的话,就能拼成一个回文串,考虑两倍字符串,用kmp找到n~2n中间的一个i,如果i-n+1到i和1到n组成的字符相同的话,答案就为(m-1)*n+(2n-i)。m=1时直接输出nxt[n]。T2找规律,能\(O(1)\)求出任意位置的价值的......
  • [2024.11.11]NOIP模拟赛T2
    赛时T1提议看懂以后立马意识到就是让求最长Border。对于\(n\timesm\le10^6\)可以暴力建串然后直接KMP。容易发现如果\(s\)循环元为\(n\),那么答案就是\(n\times(m-1)\)。否则加上最长循环元长度即可。循环元还是用KMP求。T2让我想起了之前一道硬控我3h的题目......