首页 > 其他分享 >杂题合集

杂题合集

时间:2024-07-31 21:08:07浏览次数:11  
标签:10 杂题 cntS 答案 max 字符串 合集 dp

P1437 敲砖块

如果我们选择了一个点那么以它为顶点的直角指向左上角的等腰直角三角形中的所有点都应该被选定。

那也就是说最后的图形是若干的直角三角形框住的元素的权值和。

我们考虑一列一列考虑最后的图形,发现前一列的长度小于等于当前列的长度加一,观察发现这是充要的,用这个性质 dp 即可。

设 \(f_{i,j,k}\) 表示考虑到第 \(j\) 列,选择了前 \(i\) 行,共选择了 \(k\) 个格子的最大价值,转移显然。

\[f_{i,j,k}=\max_{t=0}^{i+1}\{f_{t,j-1,k-i}+\sum_{t=1}^{i}a_{t,j}\} \]

直接前缀和做是 \(O(n^5)\) 的,常数很小,可以通过,但是很容易通过前缀 max 优化到 \(O(n^4)\)。

P2549 计算机写作文

比较简单的一道题。

很容易想到把字符串反转过来就成了从前往后填,先随便写一个 comp 函数比较两个字符串,显然要按照某种策略排序后 dp。

排序策略为:若 \(s\) 排在 \(t\) 前当且仅当 \(s+t>t+s\),证明如下。

我们设 \(r\) 表示当前的最佳答案,在枚举完 \(s,t\) 后的答案为 \(r'\),有三种情况。

  1. \(r=r'\),\(s,t\) 都没有对答案产生贡献,那么 \(s,t\) 顺序任意。

  2. \(r'=r+s\) 或 \(r'=r+t\) 仅有一个对答案产生了贡献,顺序也可以任意。

  3. \(s,t\) 都对 \(r\) 产生了贡献,而又因为 \(s+t>t+s\) 所以先 \(s\) 后 \(t\) 是更优的。

所以但 \(s+t>t+s\) 时 \(s\) 排在 \(t\) 前是一定不劣的。

最后就是一个背包了设 \(f_i\) 表示长度为 \(i\) 的字符串的最佳答案。

正常背包做即可,最后的答案为 \(f_D\),注意一下前导零的问题。

CF254C Anagram

因为可以随意变换所以合法的条件就是

\[\forall i\in \Sigma, cntS_i=cntT_i \]

\(\Sigma\) 是字符集,\(cntS_i\) 表示 \(S\) 字符串中 \(i\) 的个数。

我们记 \(c_i=cntS_i-cntT_i\)。

然后从前往后遍历所有 \(c_i>0\) 的下标看看能不能填比它小并且 \(c_i<0\) 的字符,如果能找到比它小的,那么就填最小的合法字符,否则看这个字符是否一定要换,具体就是看在它后面的 \(i\) 的个数是否能够保证能够成功替换。

CF1176F Destroy it!

如果没有 10 次一暴击的条件我们直接对每轮做一次 01 背包,每轮取最大的计入答案即可,但是有这个限制我们就可以把攻击次数对 10 取模后的结果计入 dp 值。

设 \(f_{i,j}\) 表示进行了 \(i\) 轮后攻击次数对 10 取模结果为 \(j\) 的最大伤害,对于每一轮我们记 \(g_{i,j,0/1}\) 表示选了 \(i\) 次攻击,花费为 \(j\) 是否翻倍过的最大伤害。

转移方程式为:

\[\begin{matrix} g_{i,j,0}=\max\{g_{i-1,j-c_t,0}+d_t\} \\ g_{i,j,1}= \max (\max\{g_{i-1,j-c_t,0}+2d_t\},\max\{g_{i-1,j-c_t,1}+d_t\}) \end{matrix} \]

\(f_{i,j}\) 转移的时候枚举当前轮选取 \(p\) 次攻击,若 \(j+p \ge 10\) 那么就可以进行翻倍攻击,代码非常好写。

标签:10,杂题,cntS,答案,max,字符串,合集,dp
From: https://www.cnblogs.com/igac/p/18335483

相关文章

  • 【专题】2023年中国数字金融调查报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34685原文出处:拓端数据部落公众号随着数字化转型的深入推进,新客户的增长速度已达顶峰,用户运营成为推动存量增长的关键手段。调查数据显示,相比去年,网上银行用户比例有所下降,而手机银行用户比例基本持平。阅读原文,获取专题报告合集全文,解锁文末249份......
  • css各种使用案例合集(二)
    1、hover动画场景1:要求有旋转、变色,有变化过程场景结果:代码示例:<divclass="box"><divclass="headUp"></div><divclass="head"></div><divclass="mouth"><divclass="eye"><......
  • js各种实际场景的使用案例合集(全)
    1、两个数组的交集场景1:找出两个数组arr1的activityProdId值存在在arr2中,如果存在则放入新数组arr3中场景条件:arr1=[        {activityProdId:23,name:"06",},        {activityProdId:56,name:"07",},        {activityProdId:78,name......
  • 基于 ChatGPT 的聊天软件合集打包分享
     「基于ChatGPT的聊天软件合集打包」链接:https://pan.quark.cn/s/ef1f5e9c48e4BotGem(原名AMA)官网:https://botgem.com/比较简单,有指令库;支持openai/AzureChatBox项目地址:https://github.com/Bin-Huang/chatbox说明文档:https://github.com/Bin-Huang/chatbox/blob/......
  • 更新至2023年上市公司ESG数据合集(十份数据:华证年度、华证季度、商道融绿、wind、秩鼎
    更新至2023年上市公司ESG数据合集(十份数据:华证年度、华证季度、商道融绿、wind、秩鼎、润灵环球、盟浪、富时罗素、上市银行华证ESG)数据名称:一、2018-2023年上市公司富时罗素ESG评分数据二、2018-2023年上市公司WindESG评级数据三、2014-2023年上市公司盟浪ESG评级数据四......
  • 抽象数学合集
    好无聊啊,来总结一下这几天学习的东西。整除分块整除分块常用于求解以下形式的式子:\(\sum\limits_{i=1}\limits^{n}f(i)g(\lfloor\dfrac{n}{i}\rfloor)\)其中\(f\)函数前缀和易得。直接写结论:\(\lfloor\dfrac{n}{i}\rfloor\)最多只有\(\sqrt{n}\)种取值并且连续。......
  • 文件解析漏洞合集
    IIS解析漏洞IIS6目录解析打开windows——server2003,在wwwroot目录下创建1.asp,在其中创建的所有文件都会在访问时以asp解析出来畸形文件解析在wwwroot目录下创建2.asp;.jpg,此文件上传时是.jpg后缀,但解析时由于iis6文件解析漏洞,;及其后的.jpg不被解析......
  • Bugku CTF 合集
    1.Simple_SSTI_11.打开靶场,翻译得知需要输入一个flag作为参数,检查源代码,发现可以设置secretkey作为变量经了解,SSTL是一个模板注入,SECRETKEY:是flask一个重要得配置值需要用以下代码来加密/?flag={{config.SECRETKEY}}(注意大小写),或直接/?flag={{config}}......
  • 【专题】2024家·生活智能家居趋势报告合集PDF分享(附原数据表)
    原文链接: https://tecdat.cn/?p=37146近二十载间,中国消费市场见证了从产品创新到渠道创新的双重飞跃,无论是耐用消费品还是快速消费品,均在线上线下平台绽放出前所未有的丰富选择,多数行业已转型为以消费者为核心导向的买方市场格局。阅读原文,获取专题报告合集全文,解锁文末218份智......
  • 剑指Offer题解合集
    剑指Offer题单及题解题目顺序为牛客上剑指Offer专题JZ3、数组中重复的数字分析可以直接对数组进行排序,通过判断首末数字大小来判断数字越界情况,注意数组为空的情况。发现\(0\leqnums[i]\leqn-1\),因此直接开一个数组判断是否有重复数字即可,返回第一个重复数字。代码......