QFNU 10-09 training
题意:就是给出了两个数组,然后第一组数中找到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的更多相关文章
- [转]如何解决: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 ...
- Trusted Block Chain Summit(2018.10.09)
时间:2018.10.09地点:北京金隅喜来登大酒店
- datetime 2017-10-21 10:09:02.560 转年月日的时间类型
sql语句时间转年月日格式: 适用于多种时间格式 select REPLACE(STUFF(CONVERT(char(10), REPLACE(CONVERT(varchar(10),'2017-1 ...
- Cheatsheet: 2013 10.09 ~ 10.23
Other 10 Basic Linux Networking and Monitoring Commands You Should Know A simple, portable yet effic ...
- ETL工具--kettle篇(17.10.09更新)
ETL是EXTRACT(抽取).TRANSFORM(转换).LOAD(加载)的简称,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环也是工作量较大的一块.当前知道的 ...
- 可能是东半球第二好用的软件工具全部在这里(update in 2020.10.09)
1. 产品经理工具种草 浏览器:Google Chrome 网络浏览器 原型绘制软件:墨刀- 在线产品原型设计与协作平台(https://modao.cc/).摹客mockplus - 摹客,让设计和 ...
- QFNU 10-02 19 training
B - Yet Another Crosses Problem 题意:找如果使图中某一行某一列全部变成黑色,至少需要把多少个白方格变成黑方格 思路:直接找就可以,注意存储的时候要记得进行分开存储,存储 ...
- Cheatsheet: 2013 09.10 ~ 09.21
.NET Lucene.Net – Custom Synonym Analyzer Using FiddlerCore to Capture Streaming Audio Immutable col ...
- 2014.10.09 Andrew 学习 WPF(刘铁锰) 笔记分享
引言 主要是讲了关于WPF只是表现层的工具. 第一章: XAML : 可扩张应用程序标记语言 Extensible Application Markup Language 什么是XAML? X ...
- (10.09作业)学生选课数据库SQL语句练习题
随机推荐
- [leetcode] 单调栈
本文总结单调栈算法. 原问题 学习一个算法,我们需要清楚的是:这个算法最原始的问题背景是什么样的? 下一个更小元素 给定一个数组 nums,返回每个元素的下一个更小的元素的下标 res,即 res[i ...
- (原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系
一.前言 当下,2K分辨率已成为主流标配,3K.4K也已经广泛应用. 在屏幕尺寸不变的情况下,高分辨率也就意味着高DPI,对于桌面程序而言,除了先天就支持高DPI的框架外(如UWP.Electron等 ...
- GAMES101作业2
作业任务: 填写并调用函数 rasterize_triangle(const Triangle& t). 即实现光栅化 该函数的内部工作流程如下: 创建三角形的 2 维 bounding bo ...
- 201873030133-杨子豪 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 班级博客链接 这个作业要求链接 作业要求链接 我的课程学习目标 了解软件工程的作用与意义,将软件工程与过去所学相结合 这个作业在哪些方面帮助我实现学习目标 体验了结对式的 ...
- C# WebView2 在你的应用中使用Chromium内核
什么是WebView2? Win10上对标Edge浏览器 Chromium内核 简单的可视为WebBrowser组件的升级版 如何使用WebView2? 官网下载 WebView2 RunTime V ...
- 一文彻底搞定Hystrix!
前言 Netflix Hystrix断路器是什么? Netflix Hystrix是SOA/微服务架构中提供服务隔离.熔断.降级机制的工具/框架.Netflix Hystrix是断路器的一种实现,用于 ...
- 数据库MySQL六
介绍什么是JDBC JAVA SE也有 提高综合篇 JDBC(Java Database Connectivity) :java和数据库的连接技术,sun公司推出的一套java应用程序访问数据库的技术 ...
- 【2w字干货】ArrayList与LinkedList的区别以及JDK11中的底层实现
1 概述 本文主要讲述了ArrayList与LinkedList的相同以及不同之处,以及两者的底层实现(环境OpenJDK 11.0.10). 2 两者区别 在详细介绍两者的底层实现之前,先来简单看一 ...
- 大话数据结构.epub
电子书资源:大话数据结构 书籍简介 本书为超级畅销书<大话设计模式>作者程杰潜心三年推出的扛鼎之作!通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体 ...
- PE结构分析(二)
在表中,我们知道了0x01 4c对应的平台结构是i386: 我们接着分析下一个字段,给出PE结构图 向后推移2个字节,现在来到(图片高亮部分): 高亮部分对应IMAGE_NT_HEADERS结构的Nu ...