1.F - Three displays

题意:就是给出了两个数组,然后第一组数中找到i,j,k满足i<j<k,第二组数中找到a[i],a[j],a[k],满足a[i]<a[j]<a[k],问找到这两组数之后,最小的a[i]+a[j]+a[k]的值是多少

思路:直接进行遍历寻找即可,从第一个for循环中进行两个不同的for循环,找到其左边和右边最小的值

代码:

 1 #include<iostream>
2 #include<algorithm>
3 #include<cmath>
4 #include<cstring>
5 #include<cstdio>
6 using namespace std;
7 int main(){
8 int n;
9 scanf("%d",&n);
10
11 int s[n+2];
12 int c[n+2];
13 for(int i=0;i<n;i++){
14 scanf("%d",&s[i]);
15
16 }
17 for(int i=0;i<n;i++){
18
19 scanf("%d",&c[i]);
20
21 }
22 long long int minn=1000000000;
23 int flag1=0,flag2=0;
24 int f,ff;
25 for(int i=1;i<n-1;i++){
26
27 long long int minn1=1000000000,minn2=1000000000;
28
29 for(int j=0;j<i;j++){
30 if(s[j]<s[i]&&(c[i]+c[j])<minn1){
31 minn1=c[i]+c[j];
32 flag1=1;
33 f=j;
34 }
35 }
36 for(int j=i+1;j<n;j++){
37 if(s[i]<s[j]&&c[j]<minn2){
38 minn2=c[j];
39 flag2=1;
40 ff=j;
41 }
42 }
43 if((minn1+minn2)<minn&&flag1==1&&flag2==1){
44
45 minn=minn1+minn2;
46 }
47 }
48 if(minn==1000000000){
49 printf("-1\n");
50 }else{
51 printf("%lld",minn);
52 }
53
54 }

2.链表去重

思路:输入链表的元素之后,用另一个数组将其分开,直接按照key是否重复分成x与y组,进行存贮其address即可,再通过格式要求进行输出

代码:

 1 #include<iostream>
2 #include<cstdio>
3 #include<cmath>
4 #include<algorithm>
5 #include<cstring>
6 using namespace std;
7 const int maxx=1e6+2;
8 struct num{
9 int address,key,next;
10 int num=4;
11 }a[maxx],p[maxx];
12 int sum[maxx]={0};
13 int x[maxx],y[maxx];
14 int main(){
15 int start,n;
16 scanf("%d %d",&start,&n);
17 int starti=start;
18 for(int i=0;i<n;i++){
19 int address=0;
20 scanf("%d",&address);
21 scanf("%d %d",&p[address].key,&p[address].next);
22 }
23 int i=0;
24 int j1=0,j2=0;
25 while(starti!=-1){
26 int s=fabs(p[starti].key);
27 if(sum[s]==0){
28 sum[s]++;
29 x[j1]=starti;
30 j1++;
31 }else{
32 y[j2]=starti;
33 j2++;
34 }
35 starti=p[starti].next;
36 }
37
38
39 for(int i=0;i<j1-1;i++){
40 printf("%05d %d %05d\n",x[i],p[x[i]].key,x[i+1]);
41 }
42 printf("%05d %d -1\n",x[j1-1],p[x[j1-1]].key);
43 for(int i=0;i<j2-1;i++){
44 printf("%05d %d %05d\n",y[i],p[y[i]].key,y[i+1]);
45 }
46 if(j2>=1){
47 printf("%05d %d -1\n",y[j2-1],p[y[j2-1]].key);
48 }
49 }

3.部落

思路:用并查集找到根节点,并且给他们进行合并,然后再进行寻找根节点是否是同一个

代码:

 1 #include<iostream>
2 #include<cstdio>
3 #include<algorithm>
4 #include<cmath>
5 using namespace std;
6 const int maxx=1e5;
7 int fa[maxx];
8 int findd(int x){
9 if(x==fa[x]){
10 return x;
11 }else{
12 return fa[x]=findd(fa[x]);
13 }
14 }
15 void unionn(int x,int y){
16 int xx=findd(x);
17 int yy=findd(y);
18 if(xx!=yy){
19 fa[xx]=yy;
20 }
21 }
22 int main(){
23 int n;
24 scanf("%d",&n);
25 for(int i=0;i<maxx;i++){
26 fa[i]=i;
27 }
28 int maxxx=0;
29 while(n--){
30 int k;
31 scanf("%d",&k);
32 int y;
33 scanf("%d",&y);
34 maxxx=max(maxxx,y);
35
36 for(int i=0;i<k-1;i++){
37 int x;
38 scanf("%d",&x);
39 maxxx=max(maxxx,x);
40 unionn(y,x);
41 }
42 }
43 int sum=0;
44 for(int i=1;i<=maxxx;i++){
45 if(fa[i]==i){
46 sum++;
47 }
48 }
49 printf("%d %d\n",maxxx,sum);
50 int kk;
51 scanf("%d",&kk);
52 while(kk--){
53 int x,y;
54 scanf("%d %d",&x,&y);
55 if(findd(x)==findd(y)){
56 printf("Y\n");
57 }else{
58 printf("N\n");
59 }
60 }
61 }

4.月饼

思路:直接比较单价就可以

代码:

 1 #include<iostream>
2 #include<algorithm>
3 #include<cstdio>
4 #include<cmath>
5 #include<cstring>
6 using namespace std;
7 struct num{
8 double numm;
9 double money;
10 double m;
11 }s[2000];
12 bool cmp(num& a,num& b){
13 return a.m>b.m;
14 }
15 int main(){
16 int n,d;
17 scanf("%d %d",&n,&d);
18 for(int i=0;i<n;i++){
19 scanf("%lf",&s[i].numm);
20 }
21 for(int i=0;i<n;i++){
22 scanf("%lf",&s[i].money);
23 s[i].m=s[i].money*1.0/s[i].numm;
24 }
25 double sum=0,ns=0;
26 sort(s,s+n,cmp);
27
28 for(int i=0;i<n;i++){
29 if(d>=s[i].numm){
30 sum+=s[i].money;
31 d-=s[i].numm;
32 }else if(d>=0){
33 sum+=s[i].m*d;
34 break;
35 }
36 }
37 printf("%.2f\n",sum);
38 }

QFNU 10-09 training的更多相关文章

  1. [转]如何解决:Android中 Error generating final archive: Debug Certificate expired on 10/09/18 16:30 的错误

    本文转自:http://www.cnblogs.com/yyangblog/archive/2011/01/07/1929657.html 问题概述: 在导入一个app后提示如下错误: “Error ...

  2. Trusted Block Chain Summit(2018.10.09)

    时间:2018.10.09地点:北京金隅喜来登大酒店

  3. datetime 2017-10-21 10:09:02.560 转年月日的时间类型

    sql语句时间转年月日格式: 适用于多种时间格式 select  REPLACE(STUFF(CONVERT(char(10), REPLACE(CONVERT(varchar(10),'2017-1 ...

  4. Cheatsheet: 2013 10.09 ~ 10.23

    Other 10 Basic Linux Networking and Monitoring Commands You Should Know A simple, portable yet effic ...

  5. ETL工具--kettle篇(17.10.09更新)

    ETL是EXTRACT(抽取).TRANSFORM(转换).LOAD(加载)的简称,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环也是工作量较大的一块.当前知道的 ...

  6. 可能是东半球第二好用的软件工具全部在这里(update in 2020.10.09)

    1. 产品经理工具种草 浏览器:Google Chrome 网络浏览器 原型绘制软件:墨刀- 在线产品原型设计与协作平台(https://modao.cc/).摹客mockplus - 摹客,让设计和 ...

  7. QFNU 10-02 19 training

    B - Yet Another Crosses Problem 题意:找如果使图中某一行某一列全部变成黑色,至少需要把多少个白方格变成黑方格 思路:直接找就可以,注意存储的时候要记得进行分开存储,存储 ...

  8. Cheatsheet: 2013 09.10 ~ 09.21

    .NET Lucene.Net – Custom Synonym Analyzer Using FiddlerCore to Capture Streaming Audio Immutable col ...

  9. 2014.10.09 Andrew 学习 WPF(刘铁锰) 笔记分享

    引言 主要是讲了关于WPF只是表现层的工具. 第一章: XAML : 可扩张应用程序标记语言    Extensible Application Markup Language 什么是XAML?  X ...

  10. (10.09作业)学生选课数据库SQL语句练习题

随机推荐

  1. Hdu 4821 (字符串hash+map)

    题目链接https://vjudge.net/problem/HDU-4821 题意:给定字符串S ,询问用几个子串满足 : 1.长度为n*len  . 2. n个子串都不相同. 题解:倒序hash将 ...

  2. Go语言中使用K8s API及一些常用API整理

    Go Client 在进入代码之前,理解k8s的go client项目是对我们又帮助的.它是k8s client中最古老的一个,因此具有很多特性. Client-go 没有使用Swagger生成器,就 ...

  3. 「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之自定义组件(四)

    基于Vue和Quasar的前端SPA项目实战之序列号(四) 回顾 通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之布局菜单(三)的介绍,我们已经完成了布局菜单,本文主要介绍序列号功能的实 ...

  4. Mybatis日志源码探究

    一.项目搭建 1.pom.xml <dependencies> <dependency> <groupId>log4j</groupId> <ar ...

  5. 为科学计算而生的Julia——基于Manjaro Linux的安装与入门

    技术背景 Julia是一门为科学计算而生的编程语言,其着重强调了开源.生态与性能.从开源角度来说,相比于Matlab就要友好很多,用户可以免费使用,而且MIT协议应该是最宽松的开源协议之一(截图来自于 ...

  6. javascript 取自己

    var own=docment.currentScript;

  7. 给我一个shell我能干翻你内网

    0x00 前言 在去年小菜鸡学了点内网知识就闲着没事跑点jboss的站看看,在经历过很多次内网横向失败之后终于算是人生圆满了一把,阿三的站一般进去之后很难横向,不知道是不是我太菜的原因,反正阿三的站能 ...

  8. 机器学习--如何理解Accuracy, Precision, Recall, F1 score

    当我们在谈论一个模型好坏的时候,我们常常会听到准确率(Accuracy)这个词,我们也会听到"如何才能使模型的Accurcy更高".那么是不是准确率最高的模型就一定是最好的模型? 这篇博文会向大家解释 ...

  9. Box UVA - 1587

    Ivan works at a factory that produces heavy machinery. He has a simple job - he knocks up wooden box ...

  10. Mybatis一级缓存和结合Spring Framework后失效的源码探究

    1.在下面的案例中,执行两次查询控制台只会输出一次 SQL 查询: mybatis-config.xml <?xml version="1.0" encoding=" ...