首页 > 其他分享 >9&19

9&19

时间:2024-09-24 20:45:31浏览次数:1  
标签:le ap 19 sum pos int dp

\(\textup{股票交易}\)

设 \(dp_{i,j}\) 表示第 \(i\) 天有 \(j\) 股的最多钱数。

则 \(dp_{i,j} = \max \left\{\begin{matrix} dp_{i-1, j}\\ dp_{i-w-1, k} - ap_i\ *\ (j - k) ,\ (j - sa_i \le k < j)\\ dp_{i-w-1, k} + bp_i\ *\ (k - j) ,\ (j < k \le j + sa_i) \end{matrix}\right. \)

将中间的柿子转换一下:

\[\begin{aligned} dp_{i,j} &= \max \{dp_{i-w-1, k} - ap_i\ *\ (j - k) ,\ (j - sa_i \le k < j)\} \\ &= \max \{dp_{i-w-1, k} - ap_i\ *\ j + ap_i\ *\ k ,\ (j - sa_i \le k < j)\}\\ &= \max \{dp_{i-w-1, k} + ap_i\ *\ k ,\ (j - sa_i \le k < j)\} - ap_i\ *\ j \end{aligned} \]

发现可以单调队列优化,时间复杂度为 \(\mathcal{O}(\mathcal{n}^2)\)

int l = 1, r = 0;
for (int j = 0; j <= maxp; j ++){
	while (l <= r && q[l] < j - as)
		l ++;
	while (l <= r && dp[i - w - 1][q[r]] + q[r] * ap <= dp[i - w - 1][j] + j * ap)
		r --;
	q[++ r] = j;
	if (l <= r)
		dp[i][j] = max(dp[i][j], dp[i - w - 1][q[l]] + q[l] * ap - j * ap);
}
l = 1 , r = 0;
for (int j = maxp; j >= 0; j --){
	while (l <= r && q[l] > j + bs)
		l ++;
	while (l <= r && dp[i - w - 1][q[r]] + q[r] * bp <= dp[i - w - 1][j] + j * bp)
		r --;
	q[++ r] = j;
	if (l <= r)
		dp[i][j] = max(dp[i][j], dp[i - w - 1][q[l]] + q[l] * bp - j * bp);
}

\(\textup{Non-equal Neighbours}\)

喵喵题。

ds 优化 dp。

考虑暴力 dp。

设 \(dp_{i,j}\) 表示第 \(i\) 个数选 \(j\) 的方案数。

\(dp_{i,j} = \left\{\begin{matrix} (\sum_{k = 1}^{a_{i - 1}} dp_{i - 1,k}) - dp_{i - 1,j},\ (1 \le j \le a_i)\\ 0,\ (j \ge a_i) \end{matrix}\right. \)

然后就会发现拿一个线段树记录 \(dp_i\) 这一维,每次的操作就相当于一个区间取相反数,区间加和区间赋值。

相当于拿一个维护区间乘合区间加的动态开点线段树,赋 \(0\) 就是乘 \(0\),取相反数就是乘 \(-1\)。

\(\textup{Beautiful numbers}\)

每一位上的数字 \(0\) ~ \(9\),\(\textup{lcm}\{1,2...9 \} = 2520\)。

考虑数位 dp。

设 \(dp_{i,j,k}\) 为当前是第 \(i\) 位,当前产生的数模 \(2520\) 为 \(j\),当前应该整除的数为 \(k\)。

发现 \(2520\) 因数不多,所以第三维记离散化后的值。

int dfs(int pos, int lim, int sum, int mod) {
	if (!pos)
		return sum % mod == 0;
	if (!lim && ~dp[pos][sum][lsh[mod]])
		return dp[pos][sum][lsh[mod]];
	int up = lim ? a[pos] : 9, res = 0;
	for (int i = 0; i <= up; i ++)
		res += dfs(pos - 1, lim && i == up, (sum * 10 + i) % 2520, i ? Lcm(i, mod) : mod);
	if (!lim)
		dp[pos][sum][mod] = res;
	return res;
}

标签:le,ap,19,sum,pos,int,dp
From: https://www.cnblogs.com/lovely-sheep/p/18420715

相关文章

  • Office project 2019安装图文安装教程下载项目管理
    不仅可以快速、准确地创建项目计划,而且可以帮助项目经理实现项目进度、成本的控制、分析和预测,使项目工期大大缩短,资源得到有效利用,提高经济效益。是专案管理软件程序由微软开发销售。软件设计目的在于协助专案经理发展计划、为任务分配资源、跟踪进度、管理预算和分析工作量。......
  • 信息学奥赛复赛复习02-CSP-J2019-02-结构体、无构造函数、有构造函数、初始化列表构造
    PDF文档公众号回复关键字:2024092412019CSP-J题目2公交换乘[题目描述]著名旅游城市B市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案在搭乘一次地铁后可以获得一张优惠票,有效期为45分钟,在有效期内可以消耗这张优惠票,免费搭乘一次票价不超过......
  • Linux磁盘管理.二Day.19
    一.分配超过2TB的磁盘(fdiskgdisk)1.fdisk:[root@localhost~]#fdisk/dev/sdbWARNING:Thesizeofthisdiskis4.4TB(4398046511104bytes).DOSpartitiontableformatcannotbeusedondrivesforvolumeslargerthan(2199023255040bytes)for512-bytesecto......
  • Oracle 19c OCP 认证考试 082 题库(第24题)- 2024年修正版
    【优技教育】Oracle19cOCP082题库(Q24题)-2024年修正版考试科目:1Z0-082考试题量:90通过分数:60%考试时间:150min本文为(CUUG原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。原文地址:http://www.cuug.com/index.php?s=/home/article/detail/id/3410.html第......
  • DATA1002 / 1902 - Informatics: Data and Computation
    DATA1002/1902-Informatics:DataandComputation2024Sem2GroupProjectStage2THEPROJECTWORKFORSTAGE2:Task            Description           Group/individual            Details1 ......
  • 后台管理前端设计器,个人商用1999!源码学习
    WEB组态和大屏设计器,在IoT项目中十分常见,通常是这样: WEB组态 大屏设计器但实际项目除了展示,通常还有后台管理。此前,这部分通常需要vue开发。有了UIOTOS,就能0基础,组态一样,搭建整个管理界面。 示例效果这是一款前端零代码组态工具,无需学习js、html、css,能一站式搭建多......
  • go基础-19.网络编程
    TCP传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议如何保证连接可靠呢?(面试常考题)三次握手四次挥手服务端packagemainimport("fmt""io""net")funcmain(){//创建tcp的监听地址tcpAddr,_:=......
  • 20240919 湘潭夏令营
    Coin假设\(1\leqslantn\leqslant100\),可以想到去做一个矩阵乘法,记录一下每个位置到其他位置的概率。尝试算一下概率,可以发现每个位置到除了它以外的每一个位置的概率都是\(\frac{1}{2\times(n-1)}\),停留在原地的概率为\(\frac{1}{2}\)。但是可以发现,除了最初他在的......
  • 使用Copilot AI解决openwrt 19.07 nas samba在Windows网络[网上邻居]中无法看到的问题
    1.问题缘由我的一台openwrt路由可以在Win11的网络中看到,另一台自己刷的openwrt19.07nas却在win11网络中看不到,但直接用IP可以访问其samba3.6共享的文件夹。为何这台不能被Windows发现呢?2.问题解决自己搜索了下,找不到解决方案,问了下Googlegemini,回答不能解决,有点答非所闻......
  • 架构设计:系统间通信(19)——MQ:消息协议(上)
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析......