首页 > 其他分享 >贪心1

贪心1

时间:2024-11-24 16:45:00浏览次数:8  
标签:begin int 题解 namespace cin long 贪心

B2. The Strict Teacher (Hard Version)
题目链接:https://codeforces.com/contest/2005/problem/B2
题解代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--){
        int n,m,q;
        cin>>n>>m>>q;
        vector<int> b(m);
        for(int i=0;i<m;i++){
            cin>>b[i];
        }
        sort(b.begin(),b.end());
        for(int i=0;i<q;i++){
            int p;
            cin>>p;
            int d=upper_bound(b.begin(),b.end(),p)-b.begin();
            if(d==0) cout<<b[0]-1<<' ';
			else if(d==m) cout<<n-b[m-1]<<' ';
            else cout<<(b[d]-b[d-1])/2<<' ';
        }   
        cout<<endl;
    }
    return 0;
}

P1223 排队接水
题目链接:https://www.luogu.com.cn/problem/P1223
题解代码:

#include<bits/stdc++.h>
using namespace std;
double sum=0;
long int n;
long long int t[1001];
double ans;
int main(int argc, const char * argv[])
{
    cin>>n;
    int x;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        t[i]=x*1001+i;
    }
    sort(t+1,t+1+n);
    for(int j=1;j<=n;j++)
    {
        cout<<t[j]%1001<<" ";
        sum+=t[j]/1001*(n-j);
    }
    cout<<endl;
    ans=sum/n;
    printf("%0.2lf",ans);
    return 0;
}

标签:begin,int,题解,namespace,cin,long,贪心
From: https://www.cnblogs.com/fufuaifufu/p/18565962

相关文章

  • 【贪心算法-第三弹——Leetcode-179.最大数】
    1.题目解析题目来源测试用例 2.算法原理 3.实战代码代码解析 *4.贪心策略的合理性证明(离散数学——全序关系)完全性反对称性传递性 1.题目解析题目来源179.最大数——力扣测试用例 2.算法原理 I.由题目我们知道需要返回将数组的所以数字组合......
  • 【信奥赛·算法基础】CSP-J C++ 贪心算法示例汇总
    序言为了更清晰的了解贪心算法,我把常见的贪心算法示例做了一个总结,把问题和策略,以及代码示例放到了一起,方便学习和分析,这里示例仅以C++为例,其他语言可根据示例调整即可一、钱币找零问题问题描述:给定不同面额的钱币以及每种面额的数量,用最少的钱币张数凑齐给定的总金额。......
  • 初识调整法(贪心)
    引例:\(证明:圆内接四边形中正方形的面积最大\)$在圆上顺时针任取四点A,B,C,D构成凸四边形,固定对角线AC,分别令B,D在对应的圆弧上自由滑动.$$\becauseS_{四边形ABCD}=\frac{(d_{B-AC}+d_{D-AC})\cdot|AC|}2$$\therefore最大化S_{四边形ABCD}\Rightarrow......
  • 【贪心算法】(第七篇)
    目录最⻓回⽂串(easy)题目解析讲解算法原理编写代码增减字符串匹配(easy)题目解析讲解算法原理编写代码最⻓回⽂串(easy)题目解析1.题目链接:.-力扣(LeetCode)2.题目描述给定⼀个包含⼤写字⺟和⼩写字⺟的字符串s,返回通过这些字⺟构造成的最⻓的回⽂串。在构造过程......
  • 【贪心算法】(第六篇)
    目录按⾝⾼排序(easy)题目解析讲解算法原理编写代码优势洗牌(⽥忌赛⻢)(medium)题目解析讲解算法原理编写代码按⾝⾼排序(easy)题目解析1.题目链接:.-力扣(LeetCode)2.题目描述给你⼀个字符串数组names,和⼀个由互不相同的正整数组成的数组heights。两个数组的⻓度......
  • C++编程-贪心算法2
    目录先言例题三:删数问题(NOI1994)题目描述算法分析标准程序-字符串String例题四:拦截导弹问题题目描述算法分析主要框架(标准程序)例题五:活动选择题目描述算法分析标准程序先言今天讲贪心算法的第3~5例题例题三:删数问题(NOI1994)题目描述【题目描述】输......
  • 第2课-枚举、排序、贪心
    前言如果认为自己代码没问题,换行问题,边界问题等都处理了还是不行,可以试试交C++(GCC9)该类型,因为部分题目是UVA上的老题,可能不支持新版本的C++。如果提交UNKNOWNERROR,应该是没绑定UVA账号,洛谷右上角个人设置里去填写注册一下即可。除法Division思路这个题一定要注意输......
  • Leetcode 贪心算法之Largest Number
    题目描述给定一组非负整数nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。实例示例1:输入:nums=[10,2]输出:“210”示例2:输入:nums=[3,30,34,5,9]输出:“9534330”思路分析利用贪......
  • C/C++贪心算法
    C++中的贪心算法一、基本概念贪心算法(又称贪婪算法,GreedyAlgorithm)是指,在对问题求解时,总是做出在当前看来是最好的选择,不从整体最优上加以考虑,所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题能产生整体最优解......
  • DAY31 ||贪心算法基础 | 455.分发饼干 |376.摆动序列 |53.最大子数组和
    贪心算法基础贪心算法是一种在求解问题时采取逐步构建解决方案的算法策略。它通过在每一步选择在当前看来最优的选择(即“贪心”选择),希望通过局部最优解的累积得到全局最优解。贪心算法的核心思想局部最优:每一步都选择在当前状态下最优的选择,不考虑后续步骤可能带来的影响。......