首页 > 其他分享 >SGU171 Sarov zones 题解

SGU171 Sarov zones 题解

时间:2024-03-18 21:23:01浏览次数:17  
标签:zones 个人 题解 城市 Sarov SGU171

题意:有 \(K\) 个城市,第 \(i\) 城市至多有 \(N[i]\) 个人,每个城市有一个属性 \(Q[i]\)。
对于 \(N=\sum N[i]\) 个人,每个人有一个属性 \(P[i]\) 和价值 \(W[i]\),把第 \(i\) 个人放进第 \(j\) 个城市中,当且仅当 \(P[i] > Q[j]\) 时,可以获得 \(W[i]\) 的价值,否则不获得价值。
求出满足价值和最大的人数分配方案。\(0\le N\le16000\)。

先将每个人按 \(W[i]\) 值排序,从大到小处理。
对于当前的第i个人,放到当前 ① “还可容纳人的” ② “\(Q[j]<P[i]\)的” ③ “最大的 \(Q[j]\) 所在的城市”。
最后一些没放进任何城市的人随意插空放入即可。

标签:zones,个人,题解,城市,Sarov,SGU171
From: https://www.cnblogs.com/FLY-lai/p/18081295

相关文章

  • [极客大挑战 2019]web部分题解(sql部分已完结,其他部分正在更新)
    SQL部分:[极客大挑战2019]BabySQL打开环境后有登录界面◕‿◕一眼注入,后先试试万能密码:username:admin'or'1'='1password:1 GG,出大问题,我就会这一招啊O.o??完结撒花(不是꒰ঌ(⌯''⌯)໒꒱开玩笑的,着看着像是过滤了or后来尝试了一下oorr双写发现也不行,那咱继续注入哈:尝试......
  • kodbox读取alist文件失败,问题解决过程
    让我先把相关的报错信息通过文字贴到下方,方便被检索出来出错了!(warning!)curlerrorcode=403;系统错误(explorer.editor.fileGet)explorer/editor.class.php[64]IO::fileSubstr(0,1,2)bin/data.bin[2][Linux6.2.0-35-generic/8.2.11/mysqli/1.49.10]在使用kodbbox......
  • CF1941 BCDEF 题解
    B如果要将\(a_1\)删成0,只能对\(a_2\)进行操作:\(a_1\gets0,a_2\getsa_1-2\timesa_1,a_3\getsa_3-a_1\)。\(a_1=0\)后,要将\(a_2\)删成0,只能对\(a_3\)进行相同的操作;要将\(a_3\)删成0,只能对\(a_4\)进行相同的操作……依此类推。可以看出,这是唯一可行的删除方法......
  • Gym 101981-I Magic Potion 题解
    传送门题意:有\(n\)个勇者和\(m\)个怪物,第\(i\)个勇者有一个可杀怪物集合\(M_i\),每个勇者只能杀各自\(M_i\)中的一个怪物。但是你有\(k\)瓶魔药,每一瓶都可以让一个勇者多杀一个\(M_i\)中的怪物。但是每个勇者只能吃一瓶药。问最多能杀多少个。考虑让勇者和怪物匹......
  • POJ3057 Evacuation 题解
    传送门题意:给定一张字符地图,#代表墙,.代表空地,D代表门。初始每个空地都有一个人。每个人可以在一秒内向上下左右移动一格。一个空地可以站任意多人。一个人走到门视作逃生成功。但是门很窄,一个时刻内只能有一个人进门。问所有人逃生的最短时间。\(n\le12\)。注意到门一个......
  • 20240318每日一题题解
    20240318每日一题题解Problem若将一个正整数化为二进制数,在此二进制数中,我们将数字\(1\)的个数多于数字\(0\)的个数的这类二进制数称为\(A\)类数,否则就称其为\(B\)类数。例如:\((13)_{10}=(1101)_2\),其中\(1\)的个数为\(3\),\(0\)的个数为\(1\),则称此数为\(A\)......
  • 20240317每日一题题解
    20240317每日一题题解ProblemSolution提供两种写法,分别用到了string类和c风格字符串。string类是标准库中提供的用于处理字符串的类,避免了传统的C语言中使用字符数组来处理字符串时需要考虑的空间分配、长度控制等问题。c风格字符串实际上就是一个字符数组char[],以字符'......
  • CF999D Equalize the Remainders 题解
    题意给定一个长度为\(n\)的序列和一个模数\(m\),记\(c_i\)表示\(\bmodm\)后的结果为\(i\)的数的个数。现在可以使每个数增加\(1\),请问最少要操作多少次才能使所有\(c_i=\frac{n}{m}\)。并输出最后的序列。First.如何最小化操作次数由于每次操作会使\(c_{a_i\bm......
  • AT_hhkb2020_e Lamps 题解
    \(\mathtt{TAG}\):计数、数学变量说明下文中\(k\)指整洁方块个数。First.如何计数?一个方案一个方案地数肯定是不现实的,不妨反过来想:每个方块在多少个方案中被照亮。Second.如何求多少个方案首先预处理出有多少位置可以将\(s_{i,j}\)照亮。记为\(x\)。这个很简单,不......
  • CF933-Div3 大致思路+题解
    A-RudolfandtheTicket纯水题暴力枚举直接过$code$#include<bits/stdc++.h>#definefo(x,y,z)for(int(x)=(y);(x)<=(z);(x)++)#definefu(x,y,z)for(int(x)=(y);(x)>=(z);(x)--)inlineintqr(){ charch=getchar();intx=0,f=1; for(;ch<'0......