首页 > 其他分享 >补基础题(贪心-1)

补基础题(贪心-1)

时间:2024-02-10 18:12:11浏览次数:28  
标签:java cout int 基础 cin end include 贪心

Problem - 2037 (hdu.edu.cn)

#include<iostream>/*活动安排的贪心问题*/
#include<algorithm>
using namespace std;
const int N=110;
int n;
struct node{
    int begin,end;
};
bool cmp(node aa,node bb){
    return aa.end<bb.end;
}
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    while(cin>>n){
        if(!n) return 0;
        node a[N];
        for(int i=0;i<n;i++) cin>>a[i].begin>>a[i].end;
        sort(a,a+n,cmp);
        int count=0,lastend=-1;
        for(int i=0;i<n;i++){
            if(a[i].begin>=lastend){
                count++;
                lastend=a[i].end;
            }
        }        
        cout<<count<<endl;
    }
    return 0;
}

 

Problem - 2570 (hdu.edu.cn)

#include<iostream>
#include<algorithm>
#include<iomanip>
#include<cstring>
using namespace std;
const int N = 110;
int c,t[N];
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    cin>>c;
    int n,v,w,tmp;//个数 体积 浓度 合法个数 
    double sum;
    while(c--){
        memset(t,0,sizeof(t));
        sum=0.0,tmp=0;
        cin>>n>>v>>w;
        for(int i=1;i<=n;i++) cin>>t[i];
        sort(t+1,t+1+n);
        for(int i=1;i<=n;i++){
            if(((sum+t[i])/(tmp+1))*1.0<=w*1.0){
                sum+=t[i];
                tmp++;
            }else break;
        }
        if(!sum){
            cout<<"0 0.00"<<endl;
        }else cout<<tmp*v<<" "<<fixed<<setprecision(2)<<sum/tmp*0.01<<endl;
    }
    return 0;
}

 

1521 -- Entropy (poj.org)

#include<iostream>//哈夫曼树编码 
#include<algorithm>
#include<queue>
#include<iomanip>
using namespace std;
string s;
priority_queue<int,vector<int>,greater<int> > q;
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    while(getline(cin,s) && s!="END"){
        int t=1;
        sort(s.begin(),s.end());
        for(int i=1;i<s.length();i++){
            if(s[i]!=s[i-1]){
                q.push(t);
                t=1;
            }else t++;
        }
        q.push(t);
        int ans=0;
        if(q.size()==1) ans=q.top();
        while(q.size()>1){
            int a=q.top();q.pop();
            int b=q.top();q.pop();
            q.push(a+b);
            ans += a+b;
        }
        q.pop();
        cout<<s.length()*8<<" "<<ans<<" "<<fixed<<setprecision(1)<<s.length()*8*1.0/ans*1.0<<endl;
    }
    return 0;
}

 

  

  今天之后就进入了新的一年。

  去年的上半年算是糊糊涂涂过去的,六月份军训结束状态好了一些,至少心里有想去的地方了。下半年转专业到了计算机系,看了java编程思想,还有几本计算机的课外书。刚开学那段时间每天背着游戏本和一千多页的java编程思想,四处找空教室自习,偶尔被社团办活动的请出去。因为笔记本老没电,然后开始寻找插头,一星期做了一个机器臂进了实验室,参加了南开的机器鼠比赛,课余写完了两本王道408,计组和数据结构。学期末的时候刷了浙大PTA,然后正式放弃java选择了C++,这是一个很难的决定,在对着java编程思想写习题的时候我坚定认为java就是我的No.1,十二月初开始在洛谷,牛客,AcWing换着刷题,天大培训结束后的半个月开始休息。

  上半年也接触了很多新的同学,算是走出了舒适圈,和一些人走到岔路口分开,另外一些则一起向前,有难过和遗憾,更多的是单调生活里的小开心。走向自己的这条路必定是充满困难的,不过我一定要走。

  希望新的一年能多照顾家里的猫咪,多刷点算法题,顺利完成这一年的规划,目标是拥有一年简单的小生活,然后就是早日去BUAA

标签:java,cout,int,基础,cin,end,include,贪心
From: https://www.cnblogs.com/accbulb/p/18012958

相关文章

  • Spring 基础
    Spring基础参考资料Spring的核心包括2个概念:控制反转(IOC)和面向切面(AOP)。我的SpringBoot学习之路!-知乎(zhihu.com)控制反转(IOC)的核心思想:把主动权交给用户。狂神说Java:《Spring5最新完整教程IDEA版》《SpringBoot最新教程IDEA版》开源项目:Spr......
  • Qt6.0开发 第二章 GUI程序设计基础
    第二章GUI程序设计基础窗口相关文件按照第一章所给提示创建一个新project,我们得到了下面的代码:widget.h:#ifndefWIDGET_H#defineWIDGET_H#include<QWidget>QT_BEGIN_NAMESPACEnamespaceUi{classWidget;}QT_END_NAMESPACEclassWidget:publicQWidget{......
  • python基础复习
    四大数据类型1.列表(List)列表是有序的集合,可以包含任意类型的对象:数字、字符串甚至其他列表。列表是可变的(Mutable),意味着可以在创建后添加、移除或改变元素。使用方括号[]定义,元素之间用逗号,分隔。示例:my_list=[1,"Hello",3.14,[2,4,6]]2.元组(Tuple)元组也是有......
  • 零基础入门Vue之拘元遣将——其他常用指令&自定义指令
    回首在零基础入门Vue之梦开始的地方——插值语法我记录了v-bind、v-on、v-model的学习在零基础入门Vue之Tobeornottobe——条件渲染我记录了v-if、v-else-if、v-else、v-show的学习在零基础入门Vue之影分身之术——列表渲染&渲染原理浅析我记录了v-for的学习为了推......
  • 2024牛客寒假算法基础集训营1
    D.数组成鸡题解观察到\(abs(M)\leq1e9\),容易知道如果绝对值不为\(1\)的数的个数大于\(30\)个的话,显然溢出,不会在答案的范围内再仔细分析性质,如果整个数组中数的种类超过了\(20\)种,那么除了\(0\)之外,最坏的结果就是\(-10,-9...-1,1,2,...10\)这样的情况,他们......
  • 2024牛客寒假算法基础集训营1 补题
    2024牛客寒假算法基础集训营1补题A.DFS搜索模拟题意:给你一个字符串\(S\),求出\(S\)中是否存在子序列“DFS“和"dfs"。思路:直接模拟即可参考代码:#include<bits/stdc++.h>usingnamespacestd;#definefffirst#definesssecond#defineebemplace_back#define......
  • 【scikit-learn基础】--模型持久化
    模型持久化(模型保存与加载)是机器学习完成的最后一步。因为,在实际情况中,训练一个模型可能会非常耗时,如果每次需要使用模型时都要重新训练,这无疑会浪费大量的计算资源和时间。通过将训练好的模型持久化到磁盘,我们可以在需要使用模型时直接从磁盘加载到内存,而无需重新训练。这样不仅......
  • 2024牛客寒假算法基础集训营3
    2024牛客寒假算法基础集训营3A.智乃与瞩目狸猫、幸运水母、月宫龙虾思路:就是一个简单的字符串#include<bits/stdc++.h>usingnamespacestd;voidsolve(){stringa,b;cin>>a>>b;if(a[0]==b[0]||a[0]-'A'+'a'==b[0]||b[0]-'A'+'a'==......
  • 质数基础筛法
    目录埃氏筛线性筛埃氏筛埃氏筛是一种筛素数的方法,埃氏筛的思想很重要,主要是时间复杂度朴素的埃氏筛的时间复杂度是\(O(nlogn)\)这个复杂度是调和级数vector<int>p;intvis[N];voidsolve(){ rep(i,2,n){ if(!vis[i]) p.pb(i); for(intj=i+i;j<=n;j+=i) vis[j]=1; ......
  • 1,信息技术基础---软件技术
    1,信息技术基础---软件技术面向对象的基本概念包括对象、类、抽象、封装、继承、多态、接口、消息、组件、复用和模式等。对象:由数据及操作所构成的封装体,是系统中用来描述客观事物的一个模块,是构成系统的基本单位。对象包含三个基本要素,分别是对象标识、对象状态和对象行为。类......