首页 > 其他分享 >20230925~20231001

20230925~20231001

时间:2023-10-08 21:11:41浏览次数:28  
标签:20231001 20230925 01 树状 线段 dp

[ABC321E] Complete Binary Tree

二叉树,计数。

每次往上跳 father 的时候算一算就行,答案是一个等比数列求和状物。

test20230925

前一天没睡好,感觉脑子根本不转,考的很烂,应该要想到的东西没想到。

T1:写了个很劣的 dp,知道不能把 \(s\) 放在状态里,但是没想到直接乘个组合数就行。还有特殊性质 A,所有路径代价相等也没有发现。正解是发现每一层的转移都相同,用快速幂优化。

T2:感觉是不可做数学题,好心的帝王在样例 2 中给出了前 5 分的答案。

T3:不给 hash 分差评,特殊性质漏了一种情况很蠢。

T4:没时间了,25 分的网络流是应该要会的。

CF1401F Reverse and Swap

线段树。

一眼线段树,但是不会 2、3 操作。

注意到 2、3 操作都是以 \(2^k\) 位单位,刚好对应线段树上的节点,且都可以被交换相邻左右儿子所表示。记 \(tag_i\) 表示第 \(i\) 层是否交换即可。

[ABC321F] #(subset sum = K) with Add and Erase

01 背包。

感觉从二维转移思考就不太好想,考虑一维的做法,与物品的顺序无关,减操作正序清掉 \(x\) 的贡献即可。

不要忘了 01 背包有一维的做法啊!

[ABC321G] Electric Circuit

状压 dp,子集枚举。

应该是要会的,没有什么很难想的地方,还是做题时自己思考少了,总是在听别人讲或者看题解。

solution

CF1404C Fixed Point Removal

线段树,树状数组。

先不考了 \(x,y\) 的限制,得到 \(b_i\) 表示 \(i\) 前面需要删几个才能删到它,\(c_i\) 表示 \(i\) 前面最多能删几个,如果 \(c_i\geq b_i\) 则 \(i\) 可以被删掉,现在问题就是如何维护 \(c\)。

发现删掉 \(i\),\(i\) 后所有 \(c_j\) 都要 \(-1\),考虑离线按 \(x\) 从小到大排序,操作完前缀后找到第一个新的不合法位置继续修改,可以用线段树数维护,由于每个位置至多找到一次,因此复杂度为 \(O(n\log n)\)。树状数组用来求 \(c\) 和维护答案。

标签:20231001,20230925,01,树状,线段,dp
From: https://www.cnblogs.com/ty-tyty/p/17750146.html

相关文章

  • 20230925
    //charge,designate,duration,duty,gross,guarantee,invoice,net,penalty,refund,specification,statement,stipulation,supplier,tare,billofladingcharge-费用Ingeneral,achargereferstotheamountofmoneythatisrequiredtobepaidforap......
  • 20230925打卡
    今天我参加了传统工程实训,并学习了Java中的类与对象。在传统工程实训中,我们通过实践来加强实际操作能力和问题解决能力。另外,我还学习了Java中的类与对象,这是构建Java应用程序的基础。通过学习类与对象的概念、属性和方法等基本知识,我能够了解如何在Java中创建和使用类与对象,并运......
  • 每日总结20230925
    代码时间(包括上课)5h代码量(行):400行博客数量(篇):1篇相关事项:1、今天上午进行的是相关大数据的测试,老师具体讲了讲相关题目的注意事项。2、今天上午没有完成该题目的编程,只能下午继续努力了。3、晚上问了问编程大佬,对具体的代码的使用有了新的认识,对该题目也就编的差不多了,剩下的......
  • 20230925 模拟赛总结
    模拟赛连接排名:\(\text{rank1}\)分数:\(100+100+100+100=400\)集训期间第二次AK!T1:灭火/fire题目描述:求出\(n\)个数\(a_1,a_2,\dots,a_n\)的和除以\(m\)向上取整的结果。(\(0<a_i,m<2^{63},0<n\le20\))思路:直接求和,然后向上取整即可,注意要用高精度,我用的是__int128......