首页 > 其他分享 >公元2023年7月20日20:10:排队接水,均分纸牌

公元2023年7月20日20:10:排队接水,均分纸牌

时间:2023-07-20 20:33:55浏览次数:41  
标签:10 20 纸牌 int 平均数 排队 均分 2023

今日AC二道贪心的题目

P1223 排队接水 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

#include<bits/stdc++.h>
using namespace std;
int n;
double ttime;
struct p{//题目需输出编号,所以用一结构体
    int b,time;
}t[1005];
bool cmp(p x,p y){、、排序比较函数
    return x.time<y.time;
}
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&t[i].time);
        t[i].b=i;
    }
    sort(t+1,t+n+1,cmp);//排序,很显然,等待时间越少的人先接水整体时间最少
    for(int i=1;i<=n;i++){
        printf("%d ",t[i].b);
        ttime+=t[i].time*(n-i);//累加,后面n-i个人都需等待t[i].time
    }
    printf("\n%.2lf",ttime/n);//保留两位小数输出
    return 0;
}

P1031 [NOIP2002 提高组] 均分纸牌 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

  这题我的方法是:

  1.算平均数。

  2.求每堆纸牌与平均数的关系(多1记为1,少1记为-1)。

  3.当q[y](第y堆纸牌与平均数的关系)不等于0时,q[y+1]=q[y+1]+q[y],移动次数加1。

 

#include<bits/stdc++.h>
using namespace std;
int n,a[105],ave,i,j,ans;
int main(){
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        scanf("%d",&a[i]);
        ave+=a[i];//统计平均数
    } 
    ave/=n;
    for(i=1;i<=n;i++){
        a[i]-=ave;//求每堆纸牌与平均数的关系
    }for(i=1;i<=n;i++){
        if(a[i]!=0){//为0(即到位了)跳过
            a[i+1]+=a[i];//移动
            a[i]=0;
            ans++;
        }
    }
    printf("%d",ans);
    return 0;
}

 

 

 

 

标签:10,20,纸牌,int,平均数,排队,均分,2023
From: https://www.cnblogs.com/MisakaSister/p/17569583.html

相关文章

  • 剑指offer_20230719
    剑指Offer24.反转链表题目说明定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。解题思路1:栈解题思路2:递归如果从后往前看的话,其实可以这样理解。如果当前处于nk,那么就另nk.next.next=nk,并且将nk.next指向空即可。处理完之后,以nk为头节点的链表其......
  • 剑指offer_20230720
    剑指Offer59-I.滑动窗口的最大值题目说明给定一个数组nums和滑动窗口的大小k,请找出所有滑动窗口里的最大值。示例:输入:nums=[1,3,-1,-3,5,3,6,7],和k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值[13-1]-35367 ......
  • 【网络流,dp】Gym102220A Apple Business
    ProblemLink有一棵\(n\)个点的完全二叉树(点\(i\)的父亲是\(\lfloori/2\rfloor\)),第\(i\)个点有\(a_i\)个苹果。现在有\(m\)个订单,每个订单只接受\(u_i\)到\(v_i\)路径上的苹果,保证\(u_i\)是\(v_i\)的父亲,并且最多只接受\(c_i\)个苹果,单价为\(w_i\)。你可......
  • 7.20 类 学习笔记
    7.20学习笔记类的复用:可以通过创建多个对象来使用同一个类,避免重复编写相似的代码。继承:子类可以继承父类的属性和方法,从而实现代码的重用和扩展性。把类赋值给一个真正的实体,之后就具备其属性定义一个非model类采矿程序及架构学习泊松比:水平方向的变形/垂直方向变形......
  • SketchUp Pro 2023 下载和安装教程
    SketchUpPro2023下载和安装教程下载链接123云盘:https://www.123pan.com/s/JyAKVv-NTXB.html安装教程演示操作系统:Windows11*安装前请关闭所有杀毒软件,避免报错1.解压【SketchUpPro2023.zip】 2.运行【Setup.exe】安装程序 3.点击【Next】 4.点击【Change.........
  • 黑魂 208 角色管理与战斗管理的链接
    把敌人的自己的武器tag改成Weapon,玩家的武器范围(Radius)改成3.5。在BattleManager的OnTriggerEnter里写上判断武器的代码:if(col.tag=="Weapon"){am.DoDamage();  对应下面的DoDamage被武器接触后执行的DoDamage函数。;}在ActorManager脚本下面新增一个函数:......
  • 喜报| 无限极入选信通院 2023 XOps“领新杯”业技融合攻坚先锋案例
    点击链接了解详情2023年7月,腾讯云CODING联合无限极参加中国信通院2023XOps“领新杯”案例评选活动,无限极从一百多家参选厂商中脱颖而出,高分荣获“业技融合攻坚先锋案例”奖项,并在7月18日信通院隆重举办的2023XOps产业创新发展论坛上正式颁奖。客户背景无限极......
  • 2023杭电多校第二场
    目录1009StringProblem比赛地址:传送门这回过了三个题,后面4个小时都在坐牢~1009StringProblem题意:给你一个字符串,让你找成对不相交的子串,每个子串仅由一个字符组成,其对于答案的贡献为子串长度-1,问你最大化贡献。思路:就是判断是否有相邻位均为同一字符串,如果则++ans......
  • ubuntu20安装orbslam3 ros版本
    使用ubuntu20自带的opencv4.2似乎没有任何问题sudoaptinstalllibcanberra-gtk-modulelibcanberra-gtk3-module-ysudoapt-getinstallpython3-pipsudopip3installrosdepcsudorosdepcinitrosdepcupdatesed-i's/++11/++14/g'CMakeLists.txt增加:${PROJECT_SOURCE_DI......
  • 2023杭电多校第二场
    1001求个SG然后打表发现$SG=0$的点满足$t=k_1*(4*K+2)+(K+1)$#include<bits/stdc++.h>usingnamespacestd;intT,N;intmain(){cin>>T;while(T--){intN,K;cin>>K>>N;if(N<=K)cout<<&......