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

做题记录

时间:2023-07-14 22:44:31浏览次数:60  
标签:pr 奇偶 取模 记录 int sqrt 枚举

一些自己错的题目或者难题的相关记录, 有些错的很不应该.

7月

  • 质数1 * pr, 而非1 * pr * pr * pr...

  • 线段树要可以维护当前区间没有abc的最少操作(s[x] -> c)

struct node{
    int l, r;
    int a, b, c;// the nums of them
    int ab, bc, abc;// 删除需要的操作
}tr[N << 2];

void pushUp(int u) {
    tr[u].a = tr[ls].a + tr[rs].a;
    tr[u].b = tr[ls].b + tr[rs].b;
    tr[u].c = tr[ls].c + tr[rs].c;// 没有a, 就没有ab了, 继而只用管右边的ab. 下面同理
    tr[u].ab = min(tr[ls].a + tr[rs].ab, tr[ls].ab + tr[rs].b);
    tr[u].bc = min(tr[ls].b + tr[rs].bc, tr[ls].bc + tr[rs].c);
    tr[u].abc = min({tr[ls].a + tr[rs].abc, tr[ls].abc + tr[rs].c, tr[ls].ab + tr[rs].bc});
}

n, m太大了, 无法模拟; 反求>的个数.

在b[i]的递推式, 对m取模不影响结果, 继而可以对a[i]取模. 若b[i] = b[i - 1] + a[i % k] % m > m, 则b[i - 1] > b[i], 因为a[i % k] % m一定小于m, 需要b[i - 1]来补

继而转换为求整个过程进行多少次取模操作, 即b[n] / m

注意b[0] = x的">= m"是无贡献的, 他都没有上一个数字, 所以直接b[0] %= m

代码求出周期的a[i]贡献, 再模拟求出res, 最终n - b[n] / m.

  • C. Particles
    删除中间的, 合并两边的, 所以删除和合并的奇偶不同, 且互不影响.

故分别对奇偶的数字随便取, 继而只取正数, 然后取奇偶之和的max

当然, 还可以删两边留一个, 所以再max

  • String Game
    多组输入while (cin >> ...)要开同步

  • 疯狂的馒头
    因为只有最后一次染色才算数, 所以倒着染, 已染的就跳过

对区间操作, 用并查集不断连接当前区间的右端点, 使得可以直接跳过已染色的位置

    rtl (i, m, 1) {
        LL l = (i * p + q) % n + 1, r = (i * q + p) % n + 1;
        if (l > r) swap(l, r);

        for (int j = tr.find(l); j <= r; j = tr.find(j)) {
            col[j] = i, tr.merge(j, j + 1);
        }
    }

t = s的子串的拼接, 操作是交换两字符

显然若要字典序最大, 那么就是尽可能填满t前面的1, 对离散化的s', 如何确定相对顺序?

按顺序给与优先级, 用并查集(上面疯狂的馒头的思路)来跳过已操作的区间

开始想法, 二分op, O(n)cal, 但不知道怎么枚举列数

察觉到超过矩阵列数的修改次数过大无用, 可能是根号, 所以直接套个2 * sqrt(n) + 10直接进行枚举列数

列数 > sqrt(n), 则行数 <= sqrt(n), 在根号下枚举出最优解

列数 < sqrt(n), 则可以枚举到sqrt(n)列, 2 * sqrt(n)选出最优解

标签:pr,奇偶,取模,记录,int,sqrt,枚举
From: https://www.cnblogs.com/LiamEvander/p/17539703.html

相关文章

  • 杂题记录
    随机做题过程中遇到感觉还不错的题就会记录下来,随缘更新CF360BLevkoandArray考虑二分答案\(x\)后用dp检验设\(dp_i\)为钦定\(a_i\)不会改变后,在\(i\)之前有多少数字可以不改变位置,有转移方程\[dp_i=\max\limits_{j<i\;\and\;|a_i-a_j|\leq(i-j)\times......
  • 暑期记录7
    7月13今天很热,天气预报总是不准的。我记得在早上看下午有雨,还挺开心的,结果一出门看这大太阳,怎么能下成雨。果然到了下午,还是没有雨。。关键是今天下午小区里还停电了,便更加燥热了。干脆骑着我的小电动车到处溜达,果然路上的感觉还是很凉快的。到家了,来电了。......
  • 暑期记录8
    7月18在抖音上看到中国最热的城市,好家伙,河北占了一大半。天公是不是对河北有仇,天气都这么热。我们是北方啊。北方哪有这么热的。我在石家庄,羡慕着张家口的天,听朋友说在张家口北边,到了晚上要穿棉袄,盖棉被。我去,什么逻辑。乂,万恶的河北啊.........
  • 记录--再也不用手动改package.json的版本号
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助本文的起因是有在代码仓库发包后,同事问我“为什么package.json里的版本还是原来的,有没有更新?”,这个时候我意识到,我们完全没有必要在每次发布的时候还特意去关注这个仓库的版本号,只要在发布打tag的时候同步一下即......
  • CTFer成长记录——CTF之Web专题·初识反序列化
    一、题目链接http://122.114.252.87:1110/index2.php前置知识:序列化与反序列化序列化是将变量转换成可保存或传输的字符串,实现函数是:serialize();反序列化是:将字符串转换成变量,是一个逆过程。实现的函数式:unserialize();序列化:上面的结果是对一个对象的打印,后面是序列化......
  • 三台服务器配置简易Kafka集群+debug记录
    使用了3台阿里云服务器做实验,搭建kafka集群,可以通过java程序生产消息到云服务器。中途遇到许多问题,仅在此记录一些配置信息,安装过程省略。服务器信息hostname私网IP公网IPserver001172.24.16.13260.205.217.197server002172.17.67.3859.110.155.165server0......
  • .NET6 微服务架构实战系列---记录Swaager在分层项目中实体层注释不显示的问题
    一、分层架构Swagger配置问题Dtos在Application类库中,Swagger按照正常配置,只会引用API层的XML文件这个时候我们打开Swagger是看不到实体层注释的二、分层项目Swagger配置2.1首先勾选生成API文档文件2.2然后在Program.cs文件中配置OK!重新生成下项目文件,再次启......
  • 记录下Jenkins的使用
    前言文章主要记录下自己搭建前端CI/CD的整个流程。环境搭建一台安装了centos7.x系统的主机安装Java环境//安装>sudoyuminstalljava//测试是否安装成功>java-version安装wget>sudoyuminstallwget安装jenkins//设置镜像源>sudowget-O/etc/yum.repos.d/jenkins......
  • AEE P2随身记录仪:180°翻转镜头,后置摄像头秒变前置
    DSJ-P2为AEE推出的新款随身音视频记录仪,主打小巧便携,整机尺寸只有104*35*17mm,净重仅58g,非常适合长时间随身携带的用户。除了小巧轻薄之外,P2的最大亮点就是拥有一颗可180度翻转摄像头,既让P2外观更加简约,又解决了前置摄像头像素不足的问题。搭配4800万拍照像素和1080P高清摄录,支持120......
  • 2023年 1月 做题记录
    LOJ#10132异象石题目简述:支持对树上一点集删单点和加单点的操作,询问点集组成的虚树的边权之和(虚树边权为原树上两点间距离)。做法:考虑给定点集答案的求法,将其中的点按dfs序排序,使dfs序从小到大的点依次相邻,同时使dfs序最大和最小的相邻,构成一个环。环上相邻点的距离就是答案。......