首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
bzoj 1034 贪心
】的更多相关文章
bzoj 1034 贪心
首先如果我们想取得分最高的话,肯定尽量赢,实在赢不了的话就耗掉对方最高的,那么就有了贪心策略,先排序,我方最弱的马和敌方最弱的相比,高的话赢掉,否则耗掉敌方最高的马. 对于一场比赛,总分是一定的,所以两问实际上是等效的. /************************************************************** Problem: 1034 User: BLADEVIL Language: C++ Result: Accepted Time:264 ms Mem…
[BZOJ 1034] [ZJOI2008] 泡泡堂BNB 【贪心】
题目链接:BZOJ - 1034 题目分析 这道题和田忌赛马的典故很相似. 先要将两队的队员都按照水平从小到大分别排序. 然后每次尝试用我方最弱的队员赢对方最弱的队员,或者用我方最强的队员赢对方最强的队员. 如果都不行,就用我方最弱的队员对抗对方最强的队员. 这样求出的就是我方的最高分. 由于进行 n 轮比赛之后,双方的比分和为 2n ,所以我方的最低分就是 2n - 对方的最高分. 代码 #include <iostream> #include <cstdlib> #includ…
BZOJ 1034 泡泡堂BNB 贪心+简单博弈
同样是今天做bzoj时做到的,感觉能力范围之内的就做了,也是蛮简单的 1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1876 Solved: 993 [Submit][Status][Discuss] Description 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂.每一场比赛前,对阵双…
bzoj 1034 [ZJOI2008]泡泡堂BNB(贪心)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1034 [题意] 给两个序列以任意顺序比较,求出最大和最小得分. [思路] 排序后使用贪心. 最小的能赢就赢,最大的能赢就赢,否则用最小的比最大的. [代码] #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std;…
BZOJ 1034: [ZJOI2008]泡泡堂BNB( 贪心 )
贪心...用最弱的赢最弱的,用最强的赢最强的,否则用最弱的和最强的比... (贴个官方题解:将双方的选手均按从强到弱排序,然后第一次扫描尽可能用当前剩下的选手中能赢对手当前最强选手中最弱的一个去赢得胜利,若无法做到,则暂时不考虑给对方最强的选手匹配对手.第二遍扫描使用同样策略去获取尽量多的平局.最后剩下的选手任意匹配就能获得最多的分数) -------------------------------------------------------------------- #include<cs…
bzoj 1034 [ ZJOI 2008 ] 泡泡堂BNB —— 贪心
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1034 一开始想了个很麻烦的贪心做法,对于每个 a[i],找第一个大于它的 b 匹配…… 然后WA...因为这样好像没有利用不能第一次匹配的值使答案更优: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> usin…
BZOJ.1034.[ZJOI2008]泡泡堂(贪心)
题目链接 容易想到田忌赛马.但是是不对的,比如2 3对1 3,按田忌赛马策略会3->1 2->3,但是3->3 2->1显然更优. 而如果按己方最强>=对方最强则开打,也是不对的,比如1 3对2 3,按该策略会3->3 1->2. 问题在于,在第一种情况下,对面最弱的2分是一定可以得到的. 于是得到贪心策略:1.若己方最弱强于对方最弱,则比,不能就继续2: 2.若己方最强强于对方最强,则比,不能就继续3: 3.己方最弱和对方最强比.(还是有可能赢的) 注意到两支队…
bzoj 1034: [ZJOI2008]泡泡堂BNB【贪心】
是贪心 先把两个数组排序,然后贪心的选让a数组占优的(如果没有就算输),这是最大值,最小值是2n-贪心选b数组占优 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N=100005; int n,a[N],b[N],w,ans1,ans2,now; int slv(int a[],int b[]) { int l1=1,l2=1,r1=n,r2=…
BZOJ 1034: [ZJOI2008]泡泡堂BNB 贪心+排序
比较神奇的贪心 有点类似于田忌赛马. 如果我方最弱强于对面最弱,则直接最弱pk最弱. 如果我方最强强于对面最强,那么直接最强间pk. 否则,试着用我方最弱 pk 对方最强,看是否能打成平手. code: #include <bits/stdc++.h> #define N 100006 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int solve(int a[],int…
bzoj 1034 [ZJOI2008]泡泡堂BNB——贪心
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1034 原来觉得和 bzoj4977跳伞求生 有点像(虽然还没做). 所以对于a[ ]从小到大来看,如果能赢b[ ]的最小的,就赢,不然就算了. 经Zinn看TJ后发现a[ ]如果不能匹配的话,应该把b[ ]的最大的匹配掉.就像田忌赛马一样.还可以从大到小地看. 如果较大的a[ ] <= b[ ]的话,看看较小的a[ ],如果小a[ ] > b[ ],本次先让小a[ ]匹配:如果小a[ ]…