首页 > 其他分享 >做题笔记

做题笔记

时间:2023-08-09 22:37:20浏览次数:31  
标签:发现 此题 样例 笔记 && dp mod

[AT_abc313_d] Odd or Even

简单题,但是为什么赛场上 WA 了呢?

弱化题目,设 \(n = k + 1\),发现只需要每一个数不取询问 \(k\) 次,通过前缀和得出。

再设 \(k + 1 \ | \ n\),发现只需要类似分块即可解决。

回到原题,最后的一部分如何计算?我们可以对 \([n - k, n]\) 这个区间做询问,但是对于已经计算的数不再去除。把每一个得到的和减去前面已经计算的数的和就是真实的和,类似的也能计算出。

询问次数刚好为 \(n\),时间复杂度为 \(\mathcal{O}(n)\),可以通过此题。

P9493 「SFCOI-3」进行一个列的排

dp 好题。

首先手玩样例,考虑极端情况,发现 \(n-1\) 一定放左边或者右边。发现可以不考虑 \(n-1\),则每个数只能放左边或者右边。

考虑只设一维的 \(dp_i\) 表示前 \(i\) 个数的合法情况,发现显然过不了样例,比如样例 \(1\),我们发现 \(2\) 和 \(3\) 是不能放一起的。

那么容易列出 \(dp_{i,j}\) 表示前 \(i\) 个数中,\(j\) 个放左边的合法数量,转移方程易得。此题结。

核心代码:

g (i, n, 1) {
     f (j, 0, n - i + 1) {
        dp[i][j] = 0;
        if (p[i] <= n - j && j > 0 && p[i] >= i - 1) dp[i][j] = dp[i + 1][j - 1];
        if (p[i] <= j + i - 1 && n - i - j + 1 > 0 && p[i] >= i - 1) (dp[i][j] += dp[i + 1][j]) %= mod;
        if (i == 2) (ans += dp[i][j]) %= mod;
    }
}

标签:发现,此题,样例,笔记,&&,dp,mod
From: https://www.cnblogs.com/yh2021shx/p/17618160.html

相关文章

  • openGauss学习笔记-35 openGauss 高级数据管理-ALTER TABLE语句
    openGauss学习笔记-35openGauss高级数据管理-ALTERTABLE语句修改表,包括修改表的定义、重命名表、重命名表中指定的列、重命名表的约束、设置表的所属模式、添加/更新多个列、打开/关闭行访问控制开关。35.1语法格式在一张已经存在的表上添加列。ALTERTABLEtable_name......
  • [刷题笔记] Luogu P1280 尼克的任务
    ProblemAnalysis首先,如果一个时间只有一个任务开始,则她必须做。如果一个时间有多个任务开始,她可以选一个去做。我们发现这样的决策是取决于后面的空暇时间,而不是前面。所以在dp的时候需要从后往前搜时间(当然如果从前往后可以跑记搜)考虑转移,如果一个时间有多个任务开始,则选一个......
  • 【转录】卡片笔记法:从卢曼卡片盒到ANTINET
    在我们探讨卢曼卡片盒的使用成本时,我们发现真正的成本不仅在于时间投入,更在于个体面临的认知挑战。而当我们探讨ANTINET与双链笔记法的对比时,我们看到了信息组织方式的转变,从相对混沌的状态走向更加秩序化的分叉结构。然而,这种转变不仅限于信息的组织,更包括了我们笔记工具的选择:......
  • MySQL数据库笔记(一)
    第一章数据库概述1、什么是数据库数据库是一种存储并管理数据的软件系统存储:持久化管理:增删改查常用的存储数据的方式:1、Java中的变量:生命周期短,不能实现持久化[内存]2、序列化:管理数据时依赖于Java中的反序列化[硬盘]3、txt,办公软件:没有统一的方式管理数据[硬盘]4......
  • 主成分分析(PCA)模型学习笔记(一)
    目录为什么使用PCA从过拟合说起维度灾难模型定义PCA的两种推导数据准备最大投影方差最小重构距离小结为什么使用PCA从过拟合说起在数据量小、数据维度高,模型较为复杂时,很容易产生过拟合。训练误差小而泛化误差较大被称为过拟合,而我们所追求的是泛化误差较小,为了解决过拟合问题,......
  • 线性判别分析(LDA)模型笔记
    目录模型概况模型定义模型求解模型概况线性判别方法(LinearDiscriminationAnalysis)是一种经典的线性学些方法,最早由Fisher提出,也叫“Fisher判别分析”。LDA的思想非常朴素,也即是,将样例投影到一条直线上使得同类样例的投影点尽可能近,异类样例的投影点尽可能远,总结六个字就是......
  • avue-crud属性配置项参数笔记分享
     Avue是一个基于Element-plus低代码前端框架,它使用JSON配置来生成页面,可以减少页面开发工作量,极大提升效率;虽然Avue官网上面都有这些配置说明,但是如果刚开始接触不熟悉框架的话需要很久才找到自己需要的参数配置,为了方便自己今后查找使用,现将一些开发中常用的配置梳理在下......
  • Rocky9 编译安装 Nginx Mariadb Asp.net Core6 (实测 笔记)
    引用 https://www.cnblogs.com/vicowong/p/16974219.html一、查看硬件信息1、查看物理cpu个数、核心数量、线程数grep'physicalid'/proc/cpuinfo|sort-u|wc-lgrep'coreid'/proc/cpuinfo|sort-u|wc-lgrep'processor'/proc/cpuinfo|sort-u|wc......
  • python正则表达式笔记1
    最近工作中经常用到正则表达式处理数据,慢慢发现了正则表达式的强大功能,尤其在数据处理工作中,记录下来分享给大家。一、正则表达式语法介绍正则表达式(或RE)指定了一组与之匹配的字符串;模块内的函数可以检查某个字符串是否与给定的正则表达式匹配(或者正则表达式是否匹配到字符串,......
  • Element-Plus 学习笔记一
    这几天在学vue3,用Element-plus加vue3搭了个框架,在这里记录一下项目搭建中遇到的问题。 1、使用Element-plus的icon图标,显示不出来  首先,用命令行中安装 Element-plus的图标:npminstall@element-plus/icons-vue--save  然后,在main.js中进行全局......