当前位置: 首页 > 编程日记 > 正文

HDU3434数学题

纯粹的数学题,题目的意思是给你一组序列,让你能同时改变它的一个子序列,让其子序列的值增加1,或者减少1.

思路的话,就是找其中的数学规律,给你的序列例如是:3,5,1,4,7。先求出其序列的正差和=5-3+7-4=5;所以可以用最小的5步消除其差距。至于为什么嘛?直接用笔思考一下就可以办到了,再者,其不同的结果数是序列的头尾的差值的绝对值加1,这里要注意,并不是序列其中的最大值与最小值的差值。因为好比上面的那个序列。是不可能出现2,2,2,2,2这种情况的,因为要达到这种情况,那么改变的步数一定是超过5步的。因为如果改变之后序列中元素的值小于头尾其中的一个数,那么就不可能通过改变一段子序列的值来变换啦。我的语言表达能力有点差,sorry!

#include<iostream>
#include<cstring>
using namespace
std;
int
seq[1000009];
int
main(void)
{

    int
count=0,n,m,total,i;
    _int64 first,second,ans;
    cin>>n;
    while
(n--)
    {

        cin>>m;
        int
max=0xFFFFFFFF,min=0x7FFFFFFF;
        for
(i=0;i<m;i++)
            cin>>seq[i];
       
    //    cout<<max<<min<<endl;
        first=0,second=0;
        for
(i=1;i<m;i++)
        {

            if
(seq[i]-seq[i-1]>0)
                first+=seq[i]-seq[i-1];
            else

                second-=seq[i]-seq[i-1];
        }

        if
(first>second)
            ans=first;
        else

            ans=second;
   
        if
(seq[0]>seq[i-1])
        {

            min=seq[i-1];
            max=seq[0];
        }

        else

        {

            max=seq[i-1];
            min=seq[0];
        }

        //cout<<max<<"   "<<min<<endl;
        total=max-min+1;//求出头尾序列的差值并加1,为最终结果的总数
        /*cout<<"Case "<<++count<<": ";
        cout<<ans<<" "<<total<<endl;*/

        printf("Case %d: %I64d %d\n",++count,ans,total);
    }

    return
0;
}

转载于:https://www.cnblogs.com/cchun/archive/2011/04/26/2520091.html

相关文章:

python的基本知识点

一.数据类型 1.整数2.浮点数3.字符串4.布尔值:True/False5.空值:None 二.变量 变量名必须是大小写英文、数字和_的组合&#xff0c;且不能以数字开头 三.常量 全部大写的变量名表示常量,python没有一种机制保证常量不能被修改.PI 3.14156 四.特殊的地板除 // // 除法只取结果的…

上传代码到git上的分支(协同开发)

任意位置右键单击 git bash,输入命令如下&#xff1a; git config --global user.name "用户名" &#xff08;用户名就是gitlab上的用户名&#xff0c;我的是名字拼音&#xff09;git config --global user.email "邮箱" &#xff08;注册gitlab时的邮箱&…

Android网络编程系列 一 Socket抽象层

在《Android网络编程》系列文章中&#xff0c;前面已经将Java的通信底层大致的描述了&#xff0c;在我们了解了TCP/IP通信族架构及其原理&#xff0c;接下来我们就开始来了解基于tcp/ip协议层的Socket抽象层。本篇文章将会让我们清楚的了解和学会使用Socket。什么是Socket&…

HDFS的shell和API操作

1. HDFS的shell操作 hadoop version //查看版本 hadoop fs -appendToFile src(Linux中的文件) dest(hdfs目录下的文件) //追加 hadoop fs -cat file(hdfs目录下的文件) //查看文件内容 Hadoop fs -tail file(hdfs目录下的文件) //查看文件末尾1kb的数据…

C#中的问号用法

在看一些国外牛人写的C#代码时&#xff0c;总是看到会有Boolean?、DateTime?这样的类型&#xff0c;以为是一些新的类型&#xff08;该类型变量有一些新的属性和方法&#xff09;&#xff0c;后来经过查找相关的资料&#xff0c;发现原来另有微妙。以下是MSDN中对这个问号的解…

L1-006 连续因子

题目&#xff1a; 一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3567&#xff0c;其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N&#xff0c;要求编写程序求出最长连续因子的个数&#xff0c;并输出最小的连续因子序列。 输入格式&#xff1a; 输…

Python Data Structures

1. list 2. stack 3. queue 4. tuple 5. sequence 6. set 7. dict #-*- coding: utf-8 -*-# 添加中文注释Created on 2011-4-29test for python data structureauthor: xuqiang###################list##################print("test for list");a [66.25, 333, 333…

【转】 ubuntu12.04更新源

原文网址&#xff1a;http://blog.chinaunix.net/uid-26404477-id-3382633.html 摘 要&#xff1a;本文列出ubuntu 12.04 LTS更新源列表&#xff0c;内容为网友整理&#xff0c;此处为转载。因为我还在重庆读书&#xff0c;所以在设置自己的源列表的时候选择了电子科技大学的更…

Ubuntu 上创建常用磁盘阵列

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出&#xff0c;最初是为了组合小的廉价磁盘来代替大的昂贵磁盘&#xff0c;同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价…

L1-009 N个数求和

题目 本题的要求很简单&#xff0c;就是求N个数字的和。麻烦的是&#xff0c;这些数字是以有理数分子/分母的形式给出的&#xff0c;你输出的和也必须是有理数的形式。 输入格式&#xff1a; 输入第一行给出一个正整数N&#xff08;≤100&#xff09;。随后一行按格式a1/b1 a2/…

我的理解:box-sizing

下面是我在博客园找到的&#xff0c;和我遇见的情况很相似&#xff0c;所以摘抄下来&#xff0c;原文见:http://www.cnblogs.com/charling/p/3635031.html box-sizing语法&#xff1a; box-sizing &#xff1a; content-box || border-box || inherit 参数取值&#xff1a; con…

世界最大规模3D打印混凝土步行桥在上海 落成启用

1月12日&#xff0c;世界最大规模3D打印混凝土步行桥在沪落成启用&#xff0c;人们站在桥体上欢庆该新兴建筑体的诞生。 中新网上海1月13日电 (记者 于俊)一座体态优雅、形似飘带的水泥桥12日横跨于上海宝山智慧湾的小河之上&#xff0c;宣告全球最大规模混凝土3D打印步行桥落成…

idea打开web项目之后一直闪烁

解决办法&#xff1a; 点击&#xff0c; 选择第一个&#xff08;清除缓存并重启&#xff09; 这时Idea会自动重新启动&#xff0c;之后就没有闪烁的状态了。 一开始我选择是第二个&#xff0c;清除无效的缓存&#xff0c;但是并没有起作用。

第十章:控制文件

控制文件管理[大纲] 控制文件的结构  控制文件的复用  控制文件的重建  控制文件的管理一、数据库控制文件控制文件中记载了数据库的物理结构等重要的数据库信息&#xff0c;如数据文件和日志文件信息。控制文件是用 于维护数据库完整性的重要文件。Oracle 正是使用…

UIImage图片拉伸方法

纵观移动市场&#xff0c;一款移动app&#xff0c;要想长期在移动市场立足&#xff0c;最起码要包含以下几个要素&#xff1a;实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后&#xff0c;少不了美工的辛苦设计&#xff0c;但如果开发人员不懂得怎么合理展示这些设…

【摘录】GestureDector使用

boolean onDoubleTap(MotionEvent e)解释&#xff1a;双击的第二下Touch down时触发boolean onDoubleTapEvent(MotionEvent e)解释&#xff1a;双击的第二下Touch down和up都会触发&#xff0c;可用e.getAction()区分。boolean onDown(MotionEvent e)解释&#xff1a;Touch …

IDEA新建springboot项目发生错误

idea新建spring boot项目 选择这个默认的Default 之后弹出提示框如下 这个时候首先试一下更换一下网络&#xff0c;我用的是wifi就换成热点&#xff0c;就可以了&#xff0c;是因为网络的问题

windows form窗体应用程序,建一个记事本参考代码,重点是打开,保存,另存为...

//当点击打开的时候private string files; //建一个成员变量&#xff0c;用来存储打开的路径private void 打开OToolStripMenuItem_Click(object sender, EventArgs e){//openFileDialog1.Filter "文本文件|*txt|视频文件|*avi;*jpg"; //filter建立一个筛选器//ope…

『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

前言&#xff1a; 在前三篇的文章中&#xff0c;和大家一起创建了一个用于TCP连接检测的小组件&#xff0c;如果你记不得了&#xff0c;可以通过以下链接去回顾一下&#xff1a; 『参考』.net CF组件编程&#xff08;1&#xff09;——基础之后 『参考』.net CF组件编程…

vs2010设置boost开发环境

1. 编译boost类库 2. 设置vs2010的环境 <1>. 编译boost类库 前面一篇文章介绍了如何在linux下建立boost的开发环境&#xff0c;并且编写了一个测试程序&#xff0c;这里将试着在windows下编译boost&#xff0c;同时设置vs2010的开发环境&#xff0c;使用vs来作为开发的…

怎样把字符1变成数字1

直接使用字符bai1减去字符0即可&#xff0c;如&#xff1a;‘1’-0’ 解释&#xff1a; 这样做可行是因为字符0到字符9在ascii编码时是连续的&#xff0c;字符0的ascii值是48&#xff0c;字符1的ascii值是49&#xff0c;其他数字字符依次往后排&#xff0c;而ascii值实际上就…

C#基础篇--文件(流)

1&#xff1a;Path类是专门用来操作文件路径的&#xff08;Path类是静态类&#xff09;&#xff1a;当然用字符串的处理办法也能实现。 string str "C:\Users\成才\Desktop\Hashtable.txt";//返回文件名Console.WriteLine(Path.GetFileName(str));//返回文件名&…

adoquery查询结果如何赋给一个变量(delphi和c++ builder)

我用的是adoquery进行数据库查询&#xff0c;但是我不想把查询的结果显示出来&#xff0c;只是想赋给一个变量&#xff0c;请问我这个变量该怎样去设置呢 &#xff1f; 回复人&#xff1a;sunriver 回复时间&#xff1a;2005-6-3 9:11:00procedure TForm1.Button1Click(Sender:…

pdf格式转换成jpg的简单教程

如何将pdf文件在线免费转换成jpg图片&#xff1f;因为文件保存为图片的形式比较容易查看&#xff0c;因此小伙伴们在编辑完pdf文件之后都会将其保存为jpg图片。那究竟应如何将pdf文件在线转换成图片呢&#xff1f;我们在网上也可以找到很多工具&#xff0c;但是转换效果却是不尽…

npm should be run outside of the Node.js REPL, in your normal shell

错误&#xff1a; npm should be run outside of the Node.js REPL, in your normal shell 在搭建vue环境时报错&#xff0c; 设置缓存文件夹 npm config set cache "D:\vueProject\nodejs\node_cache"和 设置全局模块存放路径 npm config set prefix “D:\vueProjec…

php错误封装类

1、创建MyErrorHandler.php文件 代码如下&#xff1a; <?php class MyErrorHandler {public $message;public $filename;public $line;public $vars array();protected $_noticeLog F:\root\noticeLog.log;public function __construct ($message,$filename,$line,$vars)…

sqlserver 与 mysql 联合更新两个表 区别

sqlserver:UPDATE a SET a.gradeb.id FROM userinfo a,levelinfo b WHERE a.exp>b.minvalue AND a.exp<b.maxvaluemysql:UPDATE userinfo a,levelinfo b SET a.gradeb.id WHERE a.exp>b.minvalue AND a.exp<b.maxvalue转载于:https://www.cnblogs.com/andy_tigger/…

Django web框架

Web框架 web 框架本质 - Web应用本质上就是一个socket服务端&#xff0c;而用户的浏览器就是一个socket客户端。 HTTP协议 HTTP协议介绍HTTP协议对收发消息的格式要求每个HTTP请求和响应都遵循相同的格式&#xff0c;一个HTTP包含Header和Body两部分&#xff0c;其中Body是可…

输入vue ui没反应

在cmd中输入 vue ui没有反应 输入 vue -h查看&#xff0c;发现是版本太低&#xff0c;根本没有ui 这是因为vue的版本太低导致的&#xff0c; 输入cnpm i -g vue/cli 升级脚手架即可 升级完成后&#xff0c;输入vue -h 最后输入vue ui即可

Windows 10 开发日记(五)-- 当Binding遇到异步 -- 解决方案

前文再续&#xff0c;上一章提出了问题&#xff0c;本章提出了三种解决方案&#xff1a; 解决方案一&#xff1a;手动进行异步转换,核心思想:将binding做的事情放入CodeBehind FilterItemControl.XAML: <Grid><Image x:Name"FilterImage" Stretch"Unif…