均等笔 n个人围成一圈,每人有ai支笔.每人可以向左右相邻的人传递笔,每人每次传递一支笔消耗的能量为1.求使所有人获得均等数量的笔的最小能量. 输入格式: 第一行一个整数n ,表示人的个数(30%的数据,n<=1000:100%的数据,n<=1e6). 接下来n行,每行一个整数 ai. 输出格式: 输出一个整数,表示使所有人获得均等笔的最小能量.(答案保证可以用64位有符号整数存储) 输入样例: 4 1 2 5 4 输出样例: 4 通过这道题我了解了一下64位有符号与无符号类型的整数,还了解了…
<Linux内核分析>第二周学习笔记 操作系统是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1. 前言 计算机是如何工作的? 三个法宝: 存储程序计算机:所有计算机基础性的逻辑框架. 堆栈:高级语言的起点,函数调用需要堆栈机制. 中断机制:多道系统的基础,是计算机效率提升的关键. 2. 函数调用堆栈 2.1 堆栈 堆栈是C语言程序运行时必须的一个记录调用…
linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1.函数调用堆栈 1.1小结 三把宝剑: 存储程序计算机 函数调用堆栈 中断机制 1.2堆栈 堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间 函数条用框架 传递参数 保存返回地址 提供局部变量空间 C代码中嵌入汇编代码的写法 0. 内嵌汇编语法 as…
学习笔记 一.理论学习 基本数据类型与数组 标识符的第一个字符不能是数字:标识符不能为关键字. 基本数据类型多数与c语言相同.重点如下: 1.逻辑类型boolean赋值true/false 2.浮点数float后需加F来表示,double类型可以没有 3.记住每一个数据类型的取值范围 类型转换运算 1.强制转换需在变量前加括号进行声明 2.混合运算输出,根据表达式中的已有的最高精度进行输出(最低不超过int) 输入&输出 输入:创建Scanner对象Scanner reader = new Sc…
20145307<Java程序设计>第二周学习总结 教材学习内容总结 Java语言中的很多基本语法都和C语言类似,以下Java中的基本语法 标识符 标识符是程序中自定义的一些名称. 由26个英文字母大小写数字符号组成,定义合法标识符规则: 1.数字不可以开头. 2.不可以使用关键字.(例如class String是不行的) Java中的名称规范: 1.包名:多单词组成时所有字母都小写 . 2.类名接口名:多单词组成时,所有单词的首字母大写 3.变量名和函数名:多单词组成时,第一个单词首字母小写…
第二周 操作系统是如何工作的 第一节 函数调用堆栈 存储程序计算机:是所有计算机基础的框架 堆栈:计算机中基础的部分,在计算机只有机器语言.汇编语言时,就有了堆栈.堆栈机制是高级语言可以运行的基础. 计算机“三宝”:存储程序计算机.函数调用堆栈和中断机制. 堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间 函数调用框架(eg:enter.leave ) 传递参数(32位,通过堆栈来传递参数) 保存返回地址(用eax) 提供局部变量空间 等等 ♦ C语言编译器对堆栈的使用有一套的规则,不同…
第二周实验 本周学习情况: 学习了X86 cpu的几个寄存器及X86汇编指令: movl %eax,%edx edx=eax %表示一个寄存器,把eax内容放入edx,等号相当于把eax赋值给edx,寄存器寻址: movl $0x123,%edx edx=0x123 立即数是以$开头的数值,把16进制的数值放入edx,立即寻址: movl 0x123,%edx edx=(int32_t)0x123 内存地址16进制的123内存放入edx,把0x123强制转化成32-bit的指针,表示取它的值,直…
一.本周学习总结 1.学习了数据类型的使用:整数类型.浮点类型. boolean类型.数组等以及类型的转换,最重要的是学会了import引用包: 2.学习了string类对象的拼接.字符串池.枚举类型: 3.实验课学会了如何Eclipse Egit与码云管理代码.以及 bigdecimal和arrays的用法. 二.书面作业 Q1.使用Eclipse关联jdk源代码(截图),并查看String对象的源代码?简单分析String对象的设计思路. String对象的源代码 String对象的设计思路…
括号匹配调整 如果通过插入" +"和" 1"可以从中得到格式正确的数学表达式,则将带括号的序列称为正确的. 例如,序列 "(())()","()"和 "(()(()))"是正确的,而")(","(()))("和"(()" 不是. 定义重新排序操作:选择括号序列的任意连续子段(子字符串),然后以任意方式对其中的所有字符进行重新排序. 当重新排序的子段…
后缀表达式 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右进行(不用考虑运算符的优先级). 如:中缀表达式 3(5–2)+7 对应的后缀表达式为:352-7+ . 请将给出的中缀表达式转化为后缀表达式并输出. 输入格式: 输入仅一行为中缀表达式,式中所有数字均为个位数,表达式长度小于1000. 输出格式: 输出一行,为后缀表达式,式中无空格. 输入样例: 2+4*8+(8*8+1)/3 输出样例: 248*+88*…