首页 > 其他分享 >【题解】20230204解题报告

【题解】20230204解题报告

时间:2023-02-05 16:56:21浏览次数:67  
标签:题解 fz 玩家 解题 士兵 城堡 20230204 fort

解题报告20230204

主要学习内容有:动态规划,字符串操作(在另外一篇文章里

T1: P5322 [BJOI2019] 排兵布阵

首先题意是设定有n座城堡,s个玩家(不包括特殊玩家),此时每名玩家都有m名士兵,可以向城堡派一定数量的兵(每轮都一样),比赛采用1v1赛制,当一名玩家派遣的士兵数严格大于对手派遣士兵数的两倍时(即>=2ai+1)可占领城堡(可以获得城堡编号i的i值得分)。那现在有一位特殊玩家也有m个士兵,但他已经知晓了其他所有士兵的派兵策略,怎样可以获得最大得分。

那么我们就知道了如何派兵可以在1v1中战胜一名玩家,仔细想想,我们可以发现如果我们可以在一座城堡中战胜其中一名玩家,那么比这名玩家派兵数量少的都将被特殊玩家击败,那么得分就为被击败的玩家数量乘以该城堡编号i的i值得分。

所以题意转化为:有n座城堡,特殊玩家有m个代价,每座城堡有s个玩家,给定击败一名玩家所需的代价(2ai+1),可获得得分为被击败的玩家数量乘以该城堡编号i的i值得分。我们发现这就变成了一个分组背包问题

本题做法:先将每座城堡的玩家派的士兵数量排序,再分组背包

本题收获:为了排序每座城堡的玩家派的士兵数量,且可以二维数组排序,但输入时是输入一名玩家的的所有城堡的派兵策略,为了方便,我们需要变通输入方式,以下为代码。end

rd(s, n, m);
fz(i, 1, s){
    fz(j, 1, n){
        rd(fort[j][i]);
    }
}
fz(i, 1, n){
    sort(fort[i] + 1, fort[i] + s + 1);
    fz(j, 1, s){
        fort[i][j] = fort[i][j] * 2 + 1;
    }
}

标签:题解,fz,玩家,解题,士兵,城堡,20230204,fort
From: https://www.cnblogs.com/Seaniangel/p/17093573.html

相关文章

  • lg9035题解
    考虑枚举\(a_{n-1}=l\),根据题意\(l\leqa_n\leqk+1-l\),这说明\(a_n\)有\(k+1-2l\)种取值。令\(b_i=a_i-a_{i-1}\),则\(b_1\geq1\),\(b_i\geq0(i>1)\),\(b_1+...+b_{n-1}=l......
  • 洛谷P9035 Pont des souvenirs 题解
    题面很简洁,这里不做多说。70pts做法首先考虑到\(a_{n-1}\)和\(a_n\)两项是整个数列\(a\)中的最大的两项,所以若\(a_{n-1}+a_n\)不超过\(k+1\),则数列中任意两项......
  • P2016题解
    P2016题解题目描述Bob要建立一个古城堡,城堡中的路形成一棵无根树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能瞭望到所有的路。注意,某个士兵在一个结点上时......
  • CF1666K Kingdom Partition 题解
    神仙网络流题。Description传送门Solution考虑最小割,将每个点\(u\)拆成\(L_u,R_u\)两个点。对于每一条原图中的边\((u,v,w)\),连双向边\((L_u,R_v,w),(L_v,R_u,w)......
  • 20230204 - 解决 Delphi 10.4 IDE 提示 socket error 10038 Access violation coreide
    现象:Delphi Embarcadero®Delphi10.4Version27.0.40680.4203进入时,弹出以下四个错误提示框,内容如下:1、[WindowTitle]Error[Content]SocketError#10038So......
  • 20230204 - 解决 Delphi 10.4 IDE 提示 socket error 10038 Access violation coreide
    现象:Delphi Embarcadero®Delphi10.4Version27.0.40680.4203进入时,弹出以下四个错误提示框,内容如下:1、[WindowTitle]Error[Content]SocketError#10038So......
  • 20230204 - 解决 Delphi 10.4 IDE 提示 socket error 10038 Access violation coreide
    现象:Delphi Embarcadero®Delphi10.4Version27.0.40680.4203进入时,弹出以下四个错误提示框,内容如下:1、[WindowTitle]Error[Content]SocketError#10038So......
  • 题解 ARC155D Avoid Coprime Game
    题解ARC155DAvoidCoprimeGame题意给定一个可重集\(S\),保证\(\gcd_{x\inS}(x)=1\),维护一个初始为\(0\)的整数\(G\),双方轮流操作,每次每人选择\(S\)中一个数......
  • 天使玩偶 解题报告
    在1145141919810天前,SX看了看cdq分治和整体二分,照着题解打了代码,照着代码理解了下这两种东西是干嘛用的。然后他就自信的以为自己理解了这两种东西。其实不然,啥叫你......
  • circle 题解(思维+堆)
    题目有\(n\)个圆心在\(x\)轴上的不相交的圆(存在边界重合),求这些圆将平面分为几部分。保证\(1\leqn\leq3\times10^5\),\(-10^9\leqx_i,y_i\leq10^9\)。一个......