首页 > 其他分享 >9.9 比赛总结

9.9 比赛总结

时间:2024-01-22 22:55:55浏览次数:29  
标签:总结 比赛 一个 位置 9.9 答案 物品 排序 贪心

P~S

A

改成 kruskal 重构树或直接并查集合并,跑一个树上背包。

C

贪心 1

容易发现,从 \(k\) 到 \(k+1\),最多有 \(4\) 种情况:

  • 增加一个 A 类。
  • 增加一个 B 类。
  • 减少一个 A 类,并增加组。
  • 减少一个 B 类,并增加组。

如果不是这些,那 \(k\) 的方案不是最优的。

用 \(5\) 个可删堆维护这些情况即可,注意判空。

贪心 2

实际上,从 \(k\) 到 \(k+2\) 会简单一些,只有 \(2\) 种情况:

  • 增加两个单个(A 或 B)。
  • 增加一组。

只需要 \(2\) 个可删堆维护。

贪心 3

对于一组物品,分为两类:

  • B 类小于 A 类,这时必定先选 A 再选 B,所以可以直接拆成两个物品。
  • B 类大于 A 类,这时把两个物品组合考虑,排序的权值为两个物品平均值。

按权值从大到小排序,从前往后考虑,对于一个物品:

  • 单个的,直接得到 \(k+1\) 答案。
  • 两个的,直接得到 \(k+2\) 答案。对于 \(k+1\) 答案,两种情况:
    • 选择这一组物品,并减去前面一个可以减的物品。
    • 不选择这一组物品,并加上后面一个可以加的物品。

决策单调性

类似贪心 3 的方法对物品分类,对每一类分别求取 \(k\) 个物品的答案(类似上方法)。

设 \(f_k\) 表示答案,\(g_k,h_k\) 分别表示只考虑第一类和第二类的答案,则 \(f_k=\max_{j=0}^kh_k+g_{k-j}\)。容易发现,\(g_{k-j}\) 满足四边形不等式,具有决策单调性。

贪心在考试时可以感性理解,不济就写一个对拍,最好弄一个数据点分治(不然你写对拍干什么)。

B

找到第一个为 \(1\) 的位置 \(p\),再把 \(p\) 与其它的 \(1\) 的位置交换,然后对 \(p\) 的其它位置冒泡排序,这时分两种情况:

  • 交换后 \(p\) 是 \(0\),如果没有完成排序,则往左边找正确位置。
  • 交换后 \(p\) 是 \(1\),说明新串的 \(1\) 的个数大于原串 \(1\) 的个数,于是如果没有完成排序,正确位置在 \([p+1,n-c-1]\)。

综上,只需在 \([1,n-c-1]\) 中找 \(p\) 的正确位置即可。

总次数为 \(c-1+n-c-2+\dfrac{(n-1)(n-2)}{2}=n-3+\dfrac{(n-1)(n-2)}{2}\leq 120\)。

记得写 SPJ。

D

对于 \(k=0\),所有的合法格子一定是类似倒金字塔的结构,且能够分为两部分。转化为:一个网格,第 \(i\) 列有 \(i\) 个格子,格子 \((i,j)\) 可以被选择当且仅当 \((i-1,j)\) 和 \((i,j-1)\) 被选择,直接 DP。

标签:总结,比赛,一个,位置,9.9,答案,物品,排序,贪心
From: https://www.cnblogs.com/recollect-the-past/p/17981312

相关文章

  • 9.23 比赛
    b-e。T1数据范围,小,但不能暴力枚举路径。把路径切成两半,用meetinthemiddle。注意数据范围刚好爆int。赛后assert发现并无问题T2打表找规律,本质是组合数Lucas。T3kmp建立自动机,就可以直接DP。T4类似这个链接下的E题,注意到起点和终点都是充电桩,以所有带有充电......
  • 2023.6.3(Mon.) 练习赛总结
    T1分层图跑最短路。为了优化空间,用了隐式连边的方法。T2dp,主要的想法是合并排列。T4交换的个数是具有传递性的,所以可以找连通块的信息。又因为具有单调性,可以用二分去找。然后多重集排列即可,公式\(\frac{n!}{\prods_i!}\)。T5首先,对\(a\)和\(b\)都分别排序,求出\(r_i......
  • 2023.6.4(Sun.) 练习赛总结
    题目T1打表加贪心,注意模数和一些边界情况。T4数据结构或者dp,可以从颜色角度分别计算共献,也可以从合并的角度统一计算贡献。T2首先要发现一个重要的性质:差分数组单调不降。由于差分数组可以是正的或者负的,符合要求的序列分布情况应该类似与向上开口的抛物线(∪),其中最小值在中......
  • 2023.6.8(THUR.) 练习赛总结
    链接。T2绝对值最小值,可以把原式化为两个只有一个绝对值的式子,set维护即可。T4dp用记忆化搜索加unordered_map实现的,要经过一些处理保证均摊单次转移时间复杂度是\(O(1)\)的。平时要注意计算时间复杂度要从最大的方面考虑,dp时间复杂度是状态数量乘单次转移时间,考虑一......
  • 今日总结
    ava实现spark统计100万人口的平均年龄以及每个年龄的出现次数,数据格式为“序号年龄”//生成年龄数据,格式“序号年龄”privatestaticvoidmakeAgeData()throwsIOException{FilenewFile=newFile("src/main/files/peopleAges.txt");if(newFile......
  • OI 博弈论若干模型总结(Genshing)
    OI博弈论的若干模型OI不是知识竞赛。平等博弈是完全信息的(知道双方目标及操作收益),交替行动的,知道当前局面和转移的,平等(决策和当前状态操作者无关)的。不平等博弈和上面一致,但是有一方更加平等。所有的平等博弈都可以化为DAG上的移动游戏。公平组合游戏是无法行动者败的游戏......
  • 小景的Dba之路--impdp导入数据问题报错排查总结
    小景最近在工作中遇到了一个问题,用impdp做数据导入的时候,有以下报错,下面是问题排查过程:首先看到了ORA-01950:noprivilegesontablespace‘PUBDATA’这个报错,小景想到了以下原因:权限问题:ORA-01950错误表示用户没有在PUBDATA表空间上的特定对象的权限。这可能是由于数据库权......
  • 用户中心项目总结
    项目1总结第一天antdesignpro初始化命令有更新,如下:npmi@ant-design/pro-cli-gprocreatemyappumiui安装命令不再在antdesignpro使用手册显示,命令如下:yarnadd@umijs/preset-ui-Dspringinitializr不再支持java8,更换新建项目页面的服务器为阿里巴巴......
  • 图论总结——拓扑排序
    图论总结——拓扑排序例\(1\):排水系统(不是很模板的模板题)思路模板题,但是要进行分数约分,所以又不是很模板直接进行计算即可。注意计算过程中很可能爆\(long~~long\)类型范围,需要用\(int128\)类型进行存储。\(Code\)#include<bits/stdc++.h>#defineintlonglongusi......
  • ZJC比赛
    昨天\(Huge\)说要给信奥的考场试,我以为我们仨不用考来着,一来机房,打开OJ,哦,ZJC比赛,妙啊,(话说为啥把我放在最后一个,虽然最后我考的也最烂就是了,下次一定要让他把我放在第一个T1题意:给一个字符串,第二个字符串是前一个字符串的前一半+一个字符,问1的前缀和2的后缀最多相等的个......