算法课作业1
https://vjudge.net/contest/581138
A - Humidex
模拟题
题目大意
给三个类型数字通过公式来回转化
思路
求e的对数有log函数,不懂为什么不会出精度错误,很迷,给的三个数字也没有顺序,需要多判断。
#include<cstdio>
#include<iostream>
#include<cmath>
//Sometimes weather reports give the temperature and dewpoint,
// or the temperature and humidex
/*
D 15.0 H 34.0
D 25.0 H 42.3
E
*/
using namespace std;
int main()
{char a,b;double a1,b1;while(1){cin>>a;if(a=='E')break;cin>>a1>>b>>b1;if(a=='T'&&b=='D'||a=='D'&&b=='T'){ if(a=='D'&&b=='T')swap(a1,b1);double e=6.11*(pow(2.718281828,5417.7530*((1/273.16)-(1/(b1+273.16)))));double h=0.5555*(e-10.0);double humidex = a1+h;printf("T %.1lf D %.1lf H %.1lf\n",a1,b1,humidex);}else if(a=='T'&&b=='H'||a=='H'&&b=='T'){if(a=='H'&&b=='T')swap(a1,b1);double dewpoint;double h=b1-a1;double e=h/0.5555+10.0;double x=log(e/6.11)/5417.753;dewpoint=1/(1/273.16-x)-273.16;printf("T %.1lf D %.1lf H %.1lf\n",a1,dewpoint,b1);}else // d h{if(a=='H'&&b=='D')swap(a1,b1);double e=6.11*pow(2.718281828,5417.7530*((1/273.16)-(1/(a1+273.16))));double h=(0.5555)*(e - 10.0);double temperature=b1-h;printf("T %.1lf D %.1lf H %.1lf\n",temperature,a1,b1);}}}
B - Moving Tables
题目大意
两排都是房间,一排两百个房间,上面按奇数,下面按偶数编号,之后房间两两之间要搬桌子,搬桌子期间中间通道全部占用,可同步进行,搬一次10分钟,求最小时间
思路
就把中间通道编号,奇数和偶数的编号调成1-200,之后对区间进行累加,重合次数最多的就是最小时间。注意坑就是,区间不一样从小到大,l,r要判断一下大小。
#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int box[205];
/*
3
4
10 20
30 40
50 60
70 80
2
1 3
2 200
3
10 100
20 80
30 50
*/
int main()
{int T;cin>>T;while(T--){int n;cin>>n;memset(box,0,sizeof(box));int maxx=0;for(int i=1; i<=n; i++){int l,r;cin>>l>>r;if(l%2==1)l=l+1;if(r%2==1)r=r+1;l=l/2;r=r/2;if(l>r)swap(l,r);for(int j=l; j<=r; j++){box[j]++;maxx=max(box[j],maxx);}}printf("%d\n",maxx*10);}}
C - Counterfeit Dollar
题意
有12个硬币,现在知道其中有一个假的,已知称三次天平可以找出来假硬币,假硬币有可能轻或重,每次给三组称量结果,求出哪个是硬币,是轻是重。
思路
好丑陋的代码,不懂为啥我写的这么长,思路不太好吧,我的思路就是去暴力枚举每一个假硬币,并且枚举它是轻的假还是重的假,用box数组记录每次天平上各个位置的重量,真硬币就算重量1,假轻硬币就重量0,假重硬币就重量10,最后判断,找出来就行,模拟题,写的是真费劲,OJ还不支持string 用的char还查了一堆函数,费劲,代码能力现在下降严重。
#include<cstring>
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
/*
1
ABCDEF GHIJKL up
ABC DEF even
I J down
*/
int box[20];
int main()
{int n;cin>>n;while(n--){char a[3][15],b[3][15],c[3][15];memset(box,0,sizeof(box));for(int i=0; i<3; i++){scanf("%s %s %s",a[i],b[i],c[i]);strcat(a[i],b[i]);}for(int i=1; i<=12; i++) // 枚举每个都是假币{char x='A'+i-1;// 假币轻int flagt=0;int pos,lenn;char t[20];for(int j=0; j<3; j++){memset(box,0,sizeof(box));int len=strlen(a[j]);for(int k=0; k<len; k++){if(a[j][k]!=x)box[k]++;if(a[j][k]==x){pos=k;lenn=len;
// t=c[j];strcpy(t,c[j]);}}int box1=0,box2=0;for(int k=0; k<len/2; k++)box1+=box[k];for(int k=len/2; k<len; k++)box2+=box[k];if(strcmp(c[j],"even")==0&&box1==box2) flagt++;if(strcmp(c[j],"up")==0&&box1>box2) flagt++;if(strcmp(c[j],"down")==0&&box1<box2) flagt++;
// printf("%d %d %c %d len=%d\n",box1,box2,x,flagt,len);}//假币重if(flagt!=3){flagt=0;for(int j=0; j<3; j++){memset(box,0,sizeof(box));int len=strlen(a[j]);for(int k=0; k<len; k++){if(a[j][k]!=x)box[k]++;if(a[j][k]==x){box[k]+=10;pos=k;lenn=len;
// t=c[j];strcpy(t,c[j]);}}int box1=0,box2=0;for(int k=0; k<len/2; k++)box1+=box[k];for(int k=len/2; k<len; k++)box2+=box[k];if(strcmp(c[j],"even")==0&&box1==box2) flagt++;if(strcmp(c[j],"up")==0&&box1>box2) flagt++;if(strcmp(c[j],"down")==0&&box1<box2) flagt++;}}if(flagt==3){if(pos<lenn/2){if(strcmp(t,"up")==0)printf("%c is the counterfeit coin and it is heavy.\n",x);elseprintf("%c is the counterfeit coin and it is light.\n",x);}else{if(strcmp(t,"up")==0)printf("%c is the counterfeit coin and it is light.\n",x);elseprintf("%c is the counterfeit coin and it is heavy.\n",x);}break;}}}}
D - Radar Installation
题目大意
雷达部署在x轴,给出半径,陆地在任意位置,现在已知所有陆地位置,要求使用最少雷达覆盖所有陆地。
思路
以每个陆地为圆心画圆,交x轴出现线段,线段长度即为这个陆地所需要的雷达区间,对每个陆地转化为一个线段,将线段按右端点排序,之后从左往右遍历线段,每次呢取端点的最右端作为雷达,下一个线段出现左端点在雷达左右两边的情况,在左边呢就不用管,在右边呢就更新右端点为新的雷达。
这个题,输入格式好奇怪,我觉得是个错题。思路对了,照着别的代码硬改出来。为什么n=0能过?不应该n0&&d0吗?
#include<cstring>
#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;struct node
{double l,r;
} a[1005];
int cmp(node a,node b)
{return a.r<b.r;
}
int main()
{int cnt=0;int n;double d;while(scanf("%d%lf",&n,&d)){cnt++;if(n==0) break;int flag=0;for(int i=1; i<=n; i++){double x,y;scanf("%lf%lf",&x,&y);
// if(d<y||d<=0)if(d<y||d<=0){flag=1;continue;}double c=sqrt(1.0*d*d-1.0*y*y);a[i].l=(double)x-c;a[i].r=(double)x+c;
// printf("%lf %lf\n",a[i].l,a[i].r);}if(flag==1){printf("Case %d: -1\n",cnt);continue;}sort(a+1,a+1+n,cmp);int ans=0;double pos=-100000000;for(int i=1; i<=n; i++){if(pos<a[i].l){pos=a[i].r;ans++;}}printf("Case %d: %d\n",cnt,ans);}
}
H - Cow Bowling
题目大意
从顶点往下向左或向右,走到最下面,找到一条累加和最大的值。
思路
数字三角形经典题
#include<cstring>
#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;int dp[355][355];
int m[355][355];
int main()
{int n;scanf("%d",&n);for(int i=1;i<=n;i++){for(int j=1;j<=i;j++)scanf("%d",&m[i][j]);}for(int i=1;i<=n;i++)dp[n][i]=m[n][i];for(int i=n-1;i>=1;i--)for(int j=1;j<=i;j++){dp[i][j]=m[i][j]+max(dp[i+1][j],dp[i+1][j+1]);}printf("%d",dp[1][1]);
}
相关文章:
算法课作业1
https://vjudge.net/contest/581138 A - Humidex 模拟题 题目大意 给三个类型数字通过公式来回转化 思路 求e的对数有log函数,不懂为什么不会出精度错误,很迷,给的三个数字也没有顺序,需要多判断。 #include<cstdio>…...
linux文本处理 两行变一行
linux简单文本处理 [rootkvm ~]# cat test 1.1.1.1 test1 2.2.2.2 test2 3.3.3.3 test3 192.168.1.2 test4 10.23.9.19 test5 cat test | awk /^[0-9]/{T$1;next;}{print T,$1}1.1.1.1 test1 2.2.2.2 test2 3.3.3.3 test3 192.168.1.2 test4 10.23.9.19 test5 cat test | …...
第二次面试 9.15
首先就是自我介绍 项目拷打 总体介绍一下项目 谈一下对socket的理解 在数据接收阶段,如何实现一个异步的数据处理 谈一谈对qt信号槽的理解 有想过如何去编写一个信号槽吗 你是如何使用CMAKE编译文件的 C11特性了解些啥 shared_ptr 和 unique_ptr 的运用场景 …...
基于matlab实现的平面波展开法二维声子晶体能带计算程序
Matlab 平面波展开法计算二维声子晶体二维声子晶体带结构计算,材料是铅柱在橡胶基体中周期排列,格子为正方形。采用PWE方法计算 完整程序: %%%%%%%%%%%%%%%%%%%%%%%%% clear;clc;tic;epssys1.0e-6; %设定一个最小量,避免系统截断误差或除零错…...
Minio入门系列【2】纠删码
1 纠删码 Minio使用纠删码erasure code和校验和checksum来保护数据免受硬件故障和无声数据损坏。 即便丢失一半数量(N/2)的硬盘,仍然可以恢复数据 1.1 什么叫纠删码 纠删码是一种用于重建丢失或损坏数据的数学算法。 纠删码(e…...
基于永磁同步发电机的风力发电系统研究(Simulink实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
5.后端·新建子模块与开发(自动模式)
文章目录 学习资料自动生成模式创建后端三层 学习资料 https://www.bilibili.com/video/BV13g411Y7GS?p11&spm_id_frompageDriver&vd_sourceed09a620bf87401694f763818a31c91e 自动生成模式创建后端三层 首先,运行起来若依的前后端整个项目,…...
vue的data为什么要写成data(return{})这样而不是data:{}这样?
在Vue.js中,为什么要将data写成一个返回对象的函数data()而不是一个普通的对象data: {} 为什么? 因为Vue.js的组件实例是可复用的,而且它们可以在应用中多次实例化。通过将data定义为一个返回对象的函数,可以确保每个组件实例都…...
MySQL基础运维知识点大全
一. MySQL基本知识 1. 目录的功能 通用 Unix/Linux 二进制包的 MySQL 安装下目录的相关功能 目录目录目录binMySQLd服务器,客户端和实用程序docs信息格式的 MySQL 手册manUnix 手册页include包括(头)文件lib图书馆share用于数据库安装的错…...
javascript获取样式表的规则及读取与写入
CSSStyleSheet是继承了StyleSheet的接口属性,它是用于找当前文档中的<link rel“” href“”…>这样文件的,有以下属性:lenght,cssRules,title,href,type,deleteRule,insertRule等 CSSStyleRule是继承于CSSRule,它是用于找<link re…...
什么是promise?
是JavaScript中用于处理异步操作的一种机制。 异步操作,例如从服务器获取数据、读取文件、执行数据库查询等等。 经典使用:Axios 是一个基于Promise的HTTP客户端 Promise具有三个状态: Pending(待定):Pr…...
从零开始学习软件测试-第45天笔记
monkey事件 事件:对app进行的操作,比如触摸事件,滑动事件...动作:构成一个事件所需要的步骤。 调整事件的百分比 adb shell monkey -p 包名 -v -v --pct-xxx 百分比 次数>输出文件的路径 分析日志有没有报错 到日志中去找…...
visual studio常用快捷键
CtrlM、CtrlO 折叠到定义 CtrlM、CtrlM 折叠当前定义 CtrlM、CtrlA 折叠全部 CtrlK、CtrlD 自动编排代码格式 F12 转到定义 ShiftF12 查看所有定义 ctrl] 转到定义首部或尾部 ctrlX 未选中文本时,剪切/删除光标所在行。ctrlV 未选中文本时,粘贴到…...
数据变换:数据挖掘的准备工作之一
⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…...
Go语言实践案例之简单字典
一、程序要实现效果: 在命令行调用程序的时候,可以在命令行的后面查询一个单词,然后会输出单词的音标和注释。 二、思路分析: 定义一个结构体 DictRequest,用于表示翻译请求的数据结构。其中包含了 TransType&#…...
笔试面试相关记录(3)
(1)String String和String.append()的底层实现 C中string append函数的使用与字符串拼接「建议收藏」-腾讯云开发者社区-腾讯云 (tencent.com) String String 在 第二个String中遇到\0就截止,append()的方法则是所有字符都会加在后面。 &…...
第6章_瑞萨MCU零基础入门系列教程之串行通信接口(SCI)
本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…...
开源免费的流程图软件draw.io
2023年9月16日,周六上午 想买微软的visio,但发现不是很值得,因为我平时也不是经常需要画图。 所以我最后还是决定使用开源免费的draw.io来画图 draw.io网页版的网址: Flowchart Maker & Online Diagram Software draw.io的…...
Python绘图系统19:添加时间轴以实现动态绘图
文章目录 时间轴单帧跳转源代码 Python绘图系统: 📈从0开始的3D绘图系统📉一套3D坐标,多个函数📊散点图、极坐标和子图自定义控件:绘图风格📉风格控件📊定制绘图风格坐标设置进阶&a…...
深度解析shell脚本的命令的原理之rm
rm 是 Unix/Linux 系统中的一个基本命令,用于删除文件或目录。以下是对这个命令的深度分析: 基本操作:rm 命令删除一个或多个文件或目录。这是通过从文件系统中移除链接来完成的。在 Unix/Linux 中,文件是通过链接(可以…...
RPA机器人流程自动化专题培训大纲(供大家参考使用)
一、RPA机器人流程自动化概述 RPA的定义和发展历程RPA的应用场景和优势RPA与人工智能的关系 二、RPA机器人流程自动化基础知识 RPA的基本原理和技术架构RPA的常用技术和工具RPA的编程语言和开发环境 三、RPA机器人流程自动化实战应用 如何进行业务流程分析与优化如何利用R…...
Python用若干列的数据多条件筛选、去除Excel数据并批量绘制直方图
本文介绍基于Python,读取Excel数据,以一列数据的值为标准,对这一列数据处于指定范围的所有行,再用其他几列数据数值,加以筛选与剔除;同时,对筛选与剔除前、后的数据分别绘制若干直方图ÿ…...
驱动开发,IO多路复用实现过程,epoll方式
1.框架图 被称为当前时代最好用的io多路复用方式; 核心操作:一棵树(红黑树)、一张表(内核链表)以及三个接口; 思想:(fd代表文件描述符) epoll要把检测的事件…...
java在mysql中查询内容无法塞入实体类中,报错 all elements are null
目录 一、问题描述二、解决方案 一、问题描述 java项目中整体配置了mysql的驼峰式字段匹配规则。 mybatis.configuration.map-underscore-to-camel-casetrue由于项目需求,需要返回字段为file_id,file_url,并且放入实体类中,实体…...
Linux 挂载
挂载需要挂载源和挂载点 虚拟机本身就有的挂源 添加硬件 重启虚拟机 操作程序 sudo fdisk -l //以管理员权限查看电脑硬盘使用情况sudo mkfs.ext4 /dev/sdb //以管理员身份格式化硬盘sudo mkdir guazai //创建挂载文件夹 sudo mount /dev/sdb/guazai //将挂载源接上挂载点 s…...
[面试] 15道最典型的k8s面试题
文章目录 在 Kubernetes 中,有以下常见的资源对象:1.什么是 Kubernetes?它的主要特点是什么?2. Kubernetes 中的 Pod 是什么?它的作用是什么?3.Kubernetes 中的 Deployment 和 StatefulSet 有何区别&#x…...
lintcode 552 · 创建最大数 【算法 数组 贪心 hard】
题目 https://www.lintcode.com/problem/552/description 描述 给出两个长度分别是m和n的数组来表示两个大整数,数组的每个元素都是数字0-9。从这两个数组当中选出k个数字来创建一个最大数,其中k满足k < m n。选出来的数字在创建的最大数里面的位置…...
ModbusTCP服务端
1在Device下,添加设备net: 公交车。 2在net下添加 ModbusTCP...
Middleware ❀ Hadoop功能与使用详解(HDFS+YARN)
文章目录 1、服务概述1.1 HDFS1.1.1 架构解析1.1.1.1 Block 数据块1.1.1.2 NameNode 名称节点1.1.1.3 Secondary NameNode 第二名称节点1.1.1.4 DataNode 数据节点1.1.1.5 Block Caching 块缓存1.1.1.6 HDFS Federation 联邦1.1.1.7 Rack Awareness 机架感知 1.1.2 读写操作与可…...
Matlab图像处理-从RGB转换为HSV
从RGB转换为HSV HSV彩色系统基于圆柱坐标系。从RGB转换为HSV需要开发将(笛卡儿坐标系中的)RGB值映射到圆柱坐标系的公式。多数计算机图形学教材中已详细推导了这一公式,故此处从略。 从RGB转换为HSV的MATLAB函数是rgb2hsv,其语法为: hsv_imag…...
九歌人工智能诗歌写作网站/网络推广渠道和方式
看到一篇对单例描述很不错的文章,地址:https://www.2cto.com/kf/201704/631396.html 单例设计模式总结 单例模式简介 单例模式是应用最广泛的模式之一,在应用这个模式时,单例对象的类必须确保只有一个实例存在,避免产…...
珠海网站建设/职业培训网络平台
这是一个最坏情况n^2,但本机各种随机数据测试都接近o(n)的时间,HDU,POJ,BZOJ上运行时间也只是该题最短时间的两三倍,而且1e6数据还没开读入挂。 但是只是随机数据下接近线性,但是如果故意造数据,随便卡。 BZOJ 3437:…...
用闲置的安卓手机做网站/爱用建站
xcopy 文件夹name %date:~0,4%%date:~5,2%%date:~8,2% /D:05-23-2017 /S /R /Y PAUSE 日期和文件夹名字修改好, 放在当前文件夹下,按D转载于:https://www.cnblogs.com/beimingbingpo/p/6892803.html...
苏南建设集团网站/nba最新交易汇总
深海才会有鲸鱼 首先,在此,感怀毛星云先生,虽并无交集,但若曾我有幸认识你的话,我想我一定是你的忠实的粉丝,你一定是我的追逐的榜样。 听到这样的消息真的好惋惜,如此勤奋、聪颖、执着且有梦想…...
移动的网络网站建设/宁波网络推广联系方式
前言 工作两年左右,实习一年左右,正式工作一年左右,其实挺尴尬的,高不成低不就。因此在面试许多公司,找到了目前最适合自己的公司之后。于是做一个关于面试的总结。希望能够给那些依旧在找工作的同学提供帮助。 面试 …...
公司商城网站建设/百度指数的搜索指数
项目名:俄罗斯方块 组名:新蜂 测试者:韩媛媛(nice!团队) 用户需求规格说明书URL:http://www.cnblogs.com/Boxer1994/p/6084035.html 组长博客URL:http://www.cnblogs.com/Boxer1994/…...