首页 > 其他分享 >P10542 [THUPC2024] RPG

P10542 [THUPC2024] RPG

时间:2024-05-31 16:14:23浏览次数:13  
标签:P10542 int sqrt 200010 RPG THUPC2024

My Blogs

P10542 [THUPC2024] RPG

一个有配合的“状态加攻击”一定是一个连续段,段内都在摸鱼。所以设 \(f_i\) 表示考虑了前 \(i\) 个人的最大收益:

\[f_i=\begin{cases} f_{i-1}+d_{b_i}\\ \max_{(x,y,z)\in \mathbb{E},y=b_i}g_x+z+d_{b_i} \end{cases} \]

其中 \(g_i\) 表示满足 \(a_j=i\) 的最大的 \(f_{j-1}\)。暴力做是 \(n^2\) 的,原因在于一个 \(y\) 对应的 \(x\) 可能会过多。

然后第二个式子只和 \(y\) 有关。所以考虑根号分治,对于一种 \(y\),如果其入度过多,将其单独处理(每转移一位统计存在 \(x=a_i\) 的 \(y\))。取阈值为 \(\sqrt n\) 可以做到 \(\mathcal O(n\sqrt n)\)。实现不能太烂(有点卡常)。

	int n,m,X,Y,d[200010],a[200010],b[200010];
	int val[200010],now[200010],f[200010];
	vector<pii> ve[200010];
	vector<pii> nex[200010];
	vi tmp;
	const int B=700;
	inline void mian()
	{
		read(n,m,X,Y);int x,y,z;
		for(int i=1;i<=X;++i)read(d[i]);
		for(int i=1;i<=n;++i)read(a[i],b[i]);
		while(m--)read(x,y,z),ve[y].eb(mp(x,z));
		memset(val,128,sizeof(val)),memset(now,128,sizeof(now));
		for(int i=1;i<=X;++i)if(ve[i].size()>B)
		for(auto p:ve[i])nex[p.fi].eb(mp(i,p.se));
		for(int i=1;i<=n;++i)
		{
			f[i]=f[i-1]+d[b[i]];
			if(ve[b[i]].size()<=B)
			{
				for(auto p:ve[b[i]])
				Mmax(f[i],val[p.fi]+p.se+d[b[i]]);
			}
			else Mmax(f[i],now[b[i]]+d[b[i]]);
			Mmax(val[a[i]],f[i-1]);
			for(auto p:nex[a[i]])Mmax(now[p.fi],p.se+f[i-1]);
		}
		write(f[n]);
	}

标签:P10542,int,sqrt,200010,RPG,THUPC2024
From: https://www.cnblogs.com/WrongAnswer90/p/18224725

相关文章

  • P10541 [THUPC2024] 研发计划
    MyBlogsP10541[THUPC2024]研发计划首先看上去就比较像流,直接考虑怎么建模。如果没有\(h\)就是裸的最大权闭合子图:\(S\)向每个技术连边,每个收益向\(T\)连边,然后技术指向收益的边连inf,做最小割(割掉的表示支付的代价),答案就是收益之和减去最小割。现在有了\(h\),要做的大......
  • P10543 [THUPC2024] 黑白
    MyBlogsP10543[THUPC2024]黑白签到题。首先要判联通性。判完之后,统计全局的白格子个数\(s\)。因为删到最后,一定会留下一条白色路径,然后路径的长度在\(\bmod\;2\)意义下和\(n+m-1\)同余。而我们只关心能操作次数的奇偶性,所以只需要判断\(s-n-m\)的奇偶性即可。 int......
  • 【游戏分析】RPG类型游戏数据关联名称库加密算法
    我们找到的无论是周围数组还是数组套链表结构里都没有发现NPC名称那么我们在不能直接观察得到的时候只有单独去找名称属性了 找一个NPC搜索其名称得到10几个那么我们尝试修改看看是哪一个  发现是14这个地址到DO中去看一下   发现周围全是其他的各......
  • 【UnityRPG游戏制作】Unity_RPG项目之界面面板分离和搭建
    ......
  • HDU 2045:不容易系列之(3)—— LELE的RPG难题(动态规划)
    一、原题链接Problem-2045(hdu.edu.cn)二、题面人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(G......
  • 技术笔记(9)MMORPG人物操作系统
    技术笔记(9)MMORPG人物操作系统希望实现的功能或目标:实现人物在场景内的移动、转向、跳跃、落地判断实现有限状态机‍学习笔记:PlayerMovementController类作用:负责玩家的行为控制挂载到Player游戏物体身上,Player游戏物体没有刚体和碰撞体,取而代之的是Characte......
  • 技术笔记(5)MMORPG
    技术笔记(5)MMORPG希望实现的功能或目标:搞定UI系统搞定人物选择系统‍学习笔记:RawImage在登陆界面中负责将某些特定模型渲染出来,比如:人物、怪物UIMask是可以拦截穿透的,即点击上层覆盖的UI界面时,下层是点不到的UISystem类字典:privateDictionary<string,Ba......
  • THUPC2024 游寄
    哎打着玩,队友是Frank2010和aeiouaoeiu,队名是⁧随⁧一⁧个⁧Day0学了一下午KMP,总算搞懂了。Day1手机没电关机了,闹钟没了,问题不大,10am醒了。11:00开了,土豆炸了。11:02进去了,开M。哦哦哦,我是AI。11:07aeiouaoeiu把M过了11:10开A,排个序然后乱搞,发现p......
  • 试着写一下MMORPG游戏游戏的自动挂机
    因为,视频里教到了植物大战僵尸的自动放置Call就结束了,所以暂且先跟着视频走。而视频就开始研究mmorpg游戏了。所以我打算跟着视频走。而上个项目大体能够理解其实就是用CE找基址,然后通过代码注入的方式实行自动脚本之类的东东。至于CE找基址OD找call这些设计经验的东西我会慢慢......
  • 技术笔记(4)MMORPG开发
    技术笔记(4)MMORPG开发希望实现的功能或目标:框架搭建UI系统‍学习笔记:Rules文件夹CanGetLayersExtensionCanSendCommandExtensionEventExtensionIBelongToArchitectureICanGetModelICanGetSystemICanGetUtilityICanRegistAndUnRegistEventICanSendCommand......