首页 > 其他分享 >2023/8刷题记录

2023/8刷题记录

时间:2023-08-10 21:47:00浏览次数:58  
标签:记录 luogu sum 2023 个数 times LIS 序列 刷题

2023/8刷题记录

luogu-P6885

向黑板上写数字,左右写,求所有序列的最长 \(LIS\) 并统计 \(LIS\) 的个数。

向左边放和向右边放相当于把一个序列拆成两个子序列,然后把第一个翻转接在第二个前面。

整个序列的 \(LIS\) 就相当于第一个序列的 \(LDS\) 和第二个子序列的 \(LIS\) 接起来,但要保证开头为哦那个一个数。

枚举每一个 \(a_i\) 用 \(f_i,g_i\) 记录 \(LIS,LDS\) 以及用 \(cntf_i,cntg_i\) 记录个数,整个\(LIS\) 为 \(f_i+g_i-1\),答案为 \(cntf_i\times cntg_i\times 2^{n-len_{LIS}}\)(因为还有一些不是 \(LIS\) 的数字可以随便放)。

经验:序列左右放,拆开。

luogu-P7154

把 \(n\) 头奶牛 \(s_i\) 放进 \(n\) 个牛棚 \(t_i\) ,能放进去为 \(s_i\leq t_i\),求极大匹配(看题)。

计数题。

把牛棚和奶牛从小到大排序,并且保证相同大小的奶牛和牛棚要奶牛在前。

令 $f_{i,j,0/1} $ 表示当前考虑了第 \(i\) 个牛或牛棚,其中有 \(j\) 头奶牛没有分配牛棚,是否考虑过不被匹配的奶牛。

对于每个 \(i\) 分别考虑为牛和牛棚的情况,进行状态转移(转移略,可根据题目得出具体看代码)。

考虑到 \(1\leq N \leq 3000\) 可能会 \(MLE\) 所以可以滚动数组。

经验:状态优化,把状态和约束同时处理。

luogu-P8863

给定一个长度为 \(n\) 的序列 \(b\) 和一个长度为 \(n\) 的空数组 \(n\) 通过每次把两个 \(a_i+1,a_j+1(i\ne j)\) 来使 \(a=b\),求方案数。

计数。首先求出操作次数,题目可以简化成构造一个 \(n\times m\) 的棋盘,放若干棋子,使得每一列都有两个棋子,第 \(i\) 行为 \(b_i\)。

则按行处理,\(f_{i,j}\) 为前 \(i\) 行,有 \(j\) 列有两个棋子。显然可以通过计算得出每列有一个棋子的个数 \(k\) 和没有棋子的个数 \(l\)。

处理第 \(i\) 枚举行,枚举一个 \(u\) ,有 \(u\) 个棋子放在了有一个棋子的列,显然组合数。

\[f_{i+1,j+u}=f_{i,j}\times C_k^u\times C_l^{b_{i+1}-u} \]

经验:转化棋盘,组合数。

luogu-CF1363F

题意见链接

显然可以转化成每次把一个 \(s_i\) 往前移动。又因为显然不会重复移动一个再付,所以相当于拿出一些字符,然后再放进去。并且向前移动。

设 \(f_{i,j}\) 为考虑了 \(s\) 的前缀 \(i\) ,\(t\) 的前缀 \(j\) ,拿出多少个使得它们匹配。

考虑转移

当 \(s_i=t_j,f_{i,j} \gets f_{i-1,j-1}\);

把 \(s_i\) 放到前面去 \(f_{i,j} \gets f_{i-1,j}+1\);

把后面的一个放到前面,要满足条件是前 \(i\) 个 \(s\) 中 \(t_j\) 的数量小于前 \(j\) 个 \(t\) 中 \(t_j\) 的数量。

luogu-CF1188C

题意见链接

设 \(f(x)\) 为美观度为 \(x\) 的子序列个数,令 \(F(x)\) 为美观度 \(\geq x\) 的子序列个数,而答案

\[\begin{matrix} \\&\sum_{x=1}^{max_{a}} x\times f(x) \\=&\sum_{x=1}^{max_{a}} f(x)\sum_{i=1}^{x}1 \\=&\sum_{i=1}^{max_{a}} \sum_{x=i}^{max_{a}} f(x) \\=&\sum_{i=1}^{max_{a}} F(i) \end{matrix} \]

所以把 \(a\) 从小到大排序

枚举 \(x\)。

设 \(dp_{i,j}\) 为考虑前 \(i\) 个数,选择了 \(j\) 个数且美观度 \(\geq x\) 的序列个数。

转移时枚举 \(k\),满足 \(a_i-a_k\geq x\) ,有 \(dp_{i,j} \gets dp_{i,j}+dp_{k,j-1}\),可使用前缀和优化。

经验:式子转化,前缀和优化

luogu-P7985

题意见链接

\(T=1\) 时经典题,略。

\(T=2\)

按照牛的位置从小到大考虑。

设 \(f_{i,j,* }\) 为考虑到第 \(i\) 头 \(H\) 和第 \(j\) 头 \(G\) 且匹配,但是还要记录上一头失配牛的位置。

注意到匹配和失配位置不是很重要,所以设 \(f_{i,j,0/1}\) 为考虑到第 \(i\) 头 \(H\) 和第 \(j\) 头 \(G\),最后一头失配的是第 \(i\) 头牛 \(H\) 还是第 \(j\) 头牛 \(G\) 。

枚举下一头失配的牛,并将之前的匹配,枚举一个 \(l\) 匹配数,转移就可以了,时间有点高,对 \(l\) 进行预处理就行了。

经验:考虑实际应有状态。

luogu-CF1768F

题意见链接

特别好的 \(dp\) 题,性质极其有趣。

观察到 \(a_i\leq n\)。

第一个性质是如果跳跃的话,最小值一定是 \(a_i\) 或 \(a_j\),否则从 \(i\) 跳到最小值,再从最小值跳到 \(j\) 一定代价更优。

第二个性质是每次跳跃步数不会超过 $\left \lfloor \frac{n}{a_{i}} \right \rfloor $,证明易证。

根据前面的两条性质可以推得时间复杂度为 \(O(n\sqrt{n})\) ,可以通过。

标签:记录,luogu,sum,2023,个数,times,LIS,序列,刷题
From: https://www.cnblogs.com/sunzz3183/p/17621355.html

相关文章

  • 2023.8.10 练习
    ARC065F非常抽象。ARC066D我们知道\(a+b=a\spacexor\spaceb+2(a\wedgeb)\)考虑到若\(u=a\spacexor\spaceb,v=a+b\)那么\(v\geu\).我们只要统计所有\(v\),\((v,u)\)的个数求和即可。注意到若\((u,v)\)合法,那么\((2u,2v)\)、\((2u,2v+2)\)、\((2u+1,2v+1)\)......
  • 2023-08-10:景区里有m个项目,也就是项目数组为int[][] game,这是一个m*2的二维数组 景区
    2023-08-10:景区里有m个项目,也就是项目数组为int[][]game,这是一个m*2的二维数组景区的第i个项目有如下两个参数:game[i]={Ki,Bi}Ki一定是负数,Bi一定是正数举个例子:Ki=-2,Bi=10如果只有1个人买票,单张门票的价格为:Ki*1+Bi=8所以这1个人游玩该项目要花8元如果有2......
  • 2023-08-10:景区里有m个项目,也就是项目数组为int[][] game,这是一个m*2的二维数组 景区
    2023-08-10:景区里有m个项目,也就是项目数组为int[][]game,这是一个m*2的二维数组景区的第i个项目有如下两个参数:game[i]={Ki,Bi}Ki一定是负数,Bi一定是正数举个例子:Ki=-2,Bi=10如果只有1个人买票,单张门票的价格为:Ki*1+Bi=8所以这1个人游玩该项目要花8元......
  • 记录一个,百度云直链解析的方法和地址
    百度网盘直链提取聚合API是一款免费百度网盘不限速下载工具,和以往发的百度网盘不限速工具差不多,使用方法也简单,工具把真实的文件链接解析出来,然后借助第三方工具IDM、Aria2或者Motrix等等工具进行下载,速度直接拉满,而且工具目前还是免费的,请务必低调用。 网站截图:使用教程:第......
  • 2023.8.10 周四:判断输入的数是否为正整数
    1intis_integer(charptr[])2{3intlen=strlen(ptr);4intret=0;5inti=0;6for(i=0;i<len;i++)7{8if(ptr[i]>='0'&&ptr[i]<='9')9......
  • CTFer成长记录——CTF之Web专题·buuctf—admin
    一、题目链接https://buuoj.cn/challenges#[HCTF%202018]admin二、解法步骤  本题页面十分简单,  在源代码中发现:  猜测需要用admin进行登陆,如果在注册模块用admin进行注册的话,会提示已被注册,那么可以肯定与admin有关。  在登陆页面用弱口令试试,发现不行。  那么......
  • 简历投递记录
    1.8.1投麦可思技术支持实习,8.7线下笔试,基础SQL,感觉位置太偏,没有接着面试2.8.1柠檬微趣web前端正式批,牛客moka笔试,纯八股,微算法,没过3.联想Java开发,测试,前端(实习),Java24校招,纯泡池子4.8.8苏州青颖飞帆,Java24校招,已笔试,等结果5.招银网科,后端开发24校招,待筛选6.多益网络,初筛过,有毁......
  • 2023.8.7模拟
    T1DescriptionSolutionCode点击查看T2DescriptionSolutionCode点击查看T3DescriptionSolutionCode点击查看T4抽卡I([THUPC2023决赛]老hu机)link:https://www.luogu.com.cn/problem/P9379Description俺のターン,ドロー!(然后对面就翻开神宣把你拍出去......
  • LeetCode从算法到算命—1281.整数的各位积和之差(20230809)
    1281.整数的各位积和之差题目信息给你一个整数n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。示例1:输入:n=234输出:15解释:各位数之积=2*3*4=24各位数之和=2+3+4=9结果=24-9=15示例2:输入:n=4421输出:21解释:各位......
  • 2023.8.10-格律诗乐器的生产流程和质量控制流程
    一、格律诗乐器说明格律诗乐器是一种独特的音乐器乐,广泛用于传统音乐演奏和文化活动中。在制作格律诗乐器时,生产流程和质量控制是非常重要的环节。本文将详细介绍格律诗乐器的生产流程和质量控制流程,以确保乐器的制作质量和音乐效果的卓越性。二、格律诗乐器的生产流程格律诗乐......