- 博客(94)
- 收藏
- 关注
原创 02 C++输入输出缓冲区的刷新问题
在C++中,cin, cout, cerr 分别于stdin, stdout, stderr对应的,即iostream流对象分别与cstdio对应。::sync_with_stdio(false)消除同步,cout和printf就不会按照预期输出,cout与stdout不再共享同一块缓冲区。4.每次输出操作执行完毕后,用unitbuf操纵符设置流的内部状态,从而清空缓冲区。5.输入输出流关联,再读入输入流时刷新对应关联的输出流。2.缓存区满了或者可能满了(大小为1024字节)3.操纵符刷新,如endl。
2024-07-22 13:45:57 197 2
原创 day08(String)
如果当前程序中,要调用多个不同包下的程序。而这些程序名正好一样,此时默认只能导入一个程序,另一个程序必须带包名访问,先学习包:包是用来分门别类的管理各种不同程序的,类似于文件夹,建包有利于程序的管理和维护。如果当前程序中,要调用其他包下的程序。如果当前程序中,要调用Java提供的程序。如果当前程序中,要调用自己所在包下的其他程序。导包:在自己程序中调用其他包下的程序的注意事项。是的,请看下面的块引用)所以以后尽量使用equals();同一个包下的类,互相可以直接调用。4.String方法。
2024-04-13 11:31:35 302
原创 day07(面向对象)
10.垃圾回收:当堆内存中,对象或数组产生的地址,通过任何方式都不能被找到后,就会被判定为内存中的“垃圾”,垃圾会被Java垃圾回收器,空闲的时候自动进行清理。1、私有成员变量,提供setXxx和getXxx方法2、将代码抽取到方法中,这是对代码的一种封装3、将属性抽取到类当中,这是对数据的一种封装。可以有参,也可以无参,但是写了有参的就必须要建立无参,系统就不会给你自动创造了。面向对象开发:开发一个一个的对象来处理数据,把数据交给对象,再调用对象的方法来完成对数据的处理。
2024-04-11 17:18:01 836
原创 day06(案例书写)
请模拟粉丝来抽奖,按照先来先得,随机抽取,抽完即止,注意:一个红包只能被抽一次,先抽或后抽哪一个红包是随机的,示例如下(不一定是下面的顺序)︰。编写程序,能够让用户录入一注双色球彩票;4.数字加密:某系统的数字密码是一个四位数,如1983,为了安全,需要加密后再传输,加密规则是:对密码中的每位数,都加5 ,再对10求余,最后将所有数字顺序反转,得到一串加密后的新数,请设计出满足本需求的加密程序!5.数组拷贝:请把一个整型数组,例如存了数据: 11,22,33,拷贝成一个一模一样的新数组出来。
2024-04-10 17:09:30 288
原创 day05(方法)
5.方法重载: 一个类中,只要一些方法的名称相同、形参列表不同,那么它们就是方法重载了,其它的都不管(如:修饰符,返回值类型是否一样都无所谓)。调用无返回值的方法,只有1种方式:1、只能直接调用。(基本类型的参数传递随着方法在栈中的释放,内存也随之释放,不会改变原来的值,可以通过传回参数改变原来的值,引用类型则不然)方法的返回值类型写void(无返回申明)时,方法内不能使用return返回数据,如果方法的返回值类型写了。所谓值传递:指的是在传输实参给方法的形参的时候,传输的是实参变量中存储的值的。
2024-04-08 17:21:39 303
原创 day04
静态初始化的完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2 ,元素3…int[] ages = new int[]{12, 24, 36}(长度不会发生改变,就是3)。当出现范围的时候,有小技巧:(nextInt()括号内是一共几个值,加上前端最开始的值,比如23-29,一共7个数字,前端是23,那么格式就是int num = r.nextInt(7) + 23;(数组也是引用类型!所以直接输出的数组的地址[:表明是数组,I:表示是int类型,@:是分隔符,后面就是地址)
2024-04-06 11:46:27 200
原创 day03
2.使用Scanner接受用户键盘输入的三个步骤:导包,抄代码(Scanner sc = new Scanner(System.in);),抄代码(int age = sc.nextInt();4.程序最典型的三种执行顺序:顺序结构(自上而下),分支结构(if, switch),循环结构(for,while,do-while)3.lang包不需要导,是默认包。
2024-04-05 11:22:08 200
原创 day02
表达式的自动类型转换(小范围的类型会自动转换成大范围的类型运算,最终类型由表达式中的最高类型决定。byte 、short、char --> int --> long-->float-->double),9.运算符:算术运算符:+ 、-、 *、 /、 %(“+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串)8.类型转换: 自动类型转换(类型范围小的变量,可以直接赋值给类型范围大的变量。关系运算符:>, >=, <, <=, ==,!基本赋值运算符:+=,-=,*=,/=,%=
2024-04-04 23:46:33 188
原创 (Android)ImageView(图像视图)自用详解
ImageView的src属性和blackground的区别;在API文档中我们发现ImageView有两个可以设置图片的属性,分别是:src和background常识:①background通常指的都是背景,而src指的是内容!!②当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸而使用background填入图片,则是会根据ImageView给定的宽度来进行拉伸样例展示:<LinearLayout xmlns:android="http://schem.
2022-05-06 11:46:55 940
原创 (Android)TextView(文本框)自用详解
id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置,又或者使用RelativeLayout时,参考组件用的也是id! layout_width:组件的宽度,一般写:**wrap_content**或者**match_parent(fill_parent)**,前者是控件显示的内容多大,控件就多大,而后者会填满该控件所在的父容器;当然也可以设置成特定的大小,比如我这里为了显示效果,设置成了200dp。 la
2022-05-06 10:55:48 1098
原创 费马小定理
费马小定理:假如p是质数,且gcd(a,p)=1(a,p互质),那么 a^(p-1)≡1(mod p)。说我文章质量过低发不出去,凑点字数,读n的时候可以转化成字符串,要是有硬刚取余是不是就能想到这个
2022-04-01 21:19:48 249
原创 1055.股票买卖Ⅱ
给定一个长度为N 的数组,数组中的第i 个数字表示一个给定股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入格式第一行包含整数N ,表示数组长度。第二行包含N 个不大于10000 的正整数,表示完整的数组。输出格式输出一个整数,表示最大利润。数据范围1≤N≤1e5输入样例1:67 1 5 3 6 4输出样例1...
2022-03-30 21:34:14 112
原创 798.差分矩阵
输入一个n 行m 列的整数矩阵,再输入q 个操作,每个操作包含五个整数x1,y1,x2,y2,c 其中(x1,y1) 和(x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上c请你将进行完所有操作后的矩阵输出。输入格式第一行包含整数n,m,q接下来n 行,每行包含m 个整数,表示整数矩阵。接下来q 行,每行包含5 个整数x1,y1,x2,y2,c 表示一个操作。输出格式共n 行,每行m 个整数...
2022-03-30 21:13:49 424
原创 797.差分
输入一个长度为n 的整数序列。接下来输入m 个操作,每个操作包含三个整数l,r,c ,表示将序列中 [l,r]之间的每个数加上 c。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数n 和m 。第二行包含n 个整数,表示整数序列。接下来m 行,每行包含三个整数 l,r,c,表示一个操作。输出格式共一行,包含n 个整数,表示最终序列。数据范围1≤n,m≤1000001≤l≤r≤n−1000≤c≤1000−1000≤整数序列中元素的...
2022-03-30 20:22:09 426
原创 1237.螺旋折线
如下图所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X,Y ),我们定义它到原点的距离dis(X,Y) 是从原点到(X,Y) 的螺旋折线段的长度。例如dis(0,1)=3,dis(−2,−1)=9给出整点坐标(X,Y) ,你能计算出dis(X,Y) 吗?输入格式包含两个整数X,Y输出格式输出一个整数,表示dis(X,Y)数据范围−109≤X,Y≤1e9输入样例:0 1输出样例:3#include ...
2022-03-29 22:08:31 450
原创 1215. 小朋友排队
n个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。如果某个小朋友第一次被要求交换,则他的不高兴程度增加1 ,如果第二次要求他交换,则他的不高兴程度增加2 (即不高兴程度为 3),依次类推。当要求某个小朋友第 k次交换时,他的不高兴程度增加 k。请问,要让所有小朋友按从低到高排队,他们的不高兴程度之和最小是多少。如果有两个小朋友身高一样,则他们谁站在谁前面...
2022-03-29 21:13:28 134
原创 1270. 数列区间最大值
输入一串数字,给你M 个询问,每次询问就给你两个数字X,Y 要求你说出X 到Y 这段区间内的最大数。输入格式第一行两个整数N,M 表示数字的个数和要询问的次数;接下来一行为N 个数;接下来M 行,每行都有两个整数X,Y输出格式输出共M 行,每行输出一个数。数据范围1≤N≤1e51≤M≤1e61≤X≤Y≤N数列中的数字均不超过2^31 − 1输入样例:10 23 2 4 5 6 8 1 2 9 71 43 8输出样例:...
2022-03-28 21:36:07 1316
原创 1101. 献给阿尔吉侬的花束
阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫。今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点放了一块阿尔吉侬最喜欢的奶酪。现在研究员们想知道,如果阿尔吉侬足够聪明,它最少需要多少时间就能吃到奶酪。迷宫用一个R×CR×C的字符矩阵来表示。字符 S 表示阿尔吉侬所在的位置,字符 E 表示奶酪所在的位置,字符 # 表示墙壁,字符 . 表示可以通行。阿尔吉侬在 1 个单位时间内可以从当前的位置走到它上下左右四个方向上的任意一个位置,但不能走出..
2022-03-28 21:30:48 365 1
原创 1233. 全球变暖
你有一张某海域N×N 像素的照片,”.”表示海洋、”#”表示陆地,如下所示:........##.....##........##...####....###........其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有22座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:....
2022-03-28 21:30:36 81
原创 1096. 地牢大师
你现在被困在一个三维地牢中,需要找到最快脱离的出路!地牢由若干个单位立方体组成,其中部分不含岩石障碍可以直接通过,部分包含岩石障碍无法通过。向北,向南,向东,向西,向上或向下移动一个单元距离均需要一分钟。你不能沿对角线移动,迷宫边界都是坚硬的岩石,你不能走出边界范围。请问,你有可能逃脱吗?如果可以,需要多长时间?输入格式输入包含多组测试数据。每组数据第一行包含三个整数L,R,C 分别表示地牢层数,以及每一层地牢的行数和列数。接下来是L 个R 行C 列的字符矩...
2022-03-23 22:00:00 107
原创 1240. 完全二叉树的权值
给定一棵包含N 个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是A1,A2,⋅⋅⋅AN ,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是1 。输入格式第一行包含一个整数N 。第二行包含N 个整数A1,A2,⋅⋅⋅AN输出格式输出一个整数代表答案。数据范围1≤N≤1e5−105≤Ai≤1e5输入样...
2022-03-23 20:30:58 126
原创 1224.交换瓶子
有N 个瓶子,编号1∼N ,放在架子上。比如有5 个瓶子:2 1 3 5 4要求每次拿起2 个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:1 2 3 4 5对于这么简单的情况,显然,至少需要交换2 次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式第一行包含一个整数N ,表示瓶子数量。第二行包含N 个整数,表示瓶子目前的排列状况。输出格式输出一个正整数,表示至少交换多少次,才能完成排序。数据范围1≤N≤1000...
2022-03-23 19:57:21 108
原创 1113. 红与黑
有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入格式输入包括多个数据集合。每个数据集合的第一行是两个整数WW和HH,分别表示xx方向和yy方向瓷砖的数量。在接下来的HH行中,每行包括WW个字符。每个字符表示一块瓷砖的颜色,规则如下1)‘.’:黑色的瓷砖;2)‘#’:红色的瓷砖;3)‘@’:黑色的瓷砖,并且你站在这块瓷...
2022-03-22 21:42:53 169
原创 4378 选取数对
给定一个长度为nn的整数数列a1,a2,…,ana1,a2,…,an。请你选择kk个数对[l1,r1],[l2,r2],…,[lk,rk][l1,r1],[l2,r2],…,[lk,rk],要求所选数对满足:1≤l1≤r1<l2≤r2<…<lk≤rk≤n。 对于1≤i≤k ,ri−li+1=m 均成立。 设sum=∑(i=1k)∑(j=li,ri )aj, sum的值应尽可能大。请你输出sum 的最大可能值。输入格式第一行包含三个整数n,m,k...
2022-03-21 20:46:44 134
原创 p1443 马的遍历
题目描述有一个n \times mn×m的棋盘,在某个点(x, y)(x,y)上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。输入格式输入只有一行四个整数,分别为n, m, x, yn,m,x,y。输出格式一个 n×m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1 )。输入输出样例输入3 3 1 1输出0 3 2 3 -1 1 2 1 4 说...
2022-03-21 19:12:33 216
原创 p1219 八皇后
题目描述一个如下的6 \times 66×6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列2\ 4\ 6\ 1\ 3\ 5246135来描述,第ii个数字表示在第ii行的相应位置有一个棋子,如下:行号1\ 2\ 3\ 4\ 5\ 6123456列号2\ 4\ 6\ 1\ 3\ 5246135这只是棋子放置的一个解。请编一个程序找出所有棋...
2022-03-21 19:10:06 111
原创 p1135 奇怪的电梯
题目描述有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第ii层楼(1 \le i \le N1≤i≤N)上有一个数字K_iKi(0 \le K_i \le N0≤Ki≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3, 3, 1, 2, 53,3,1,2,5代表了K_iKi(K_1=3K1=3,K_2=3K2=3,……),从11楼开始。在11楼,按“上”可以到44...
2022-03-21 19:08:34 128
原创 1265. 数星星
天空中有一些星星,这些星星都在不同的位置,每个星星有个坐标。如果一个星星的左下方(包含正左和正下)有kk颗星星,就说这颗星星是kk级的。例如,上图中星星55是33级的(1,2,41,2,4在它左下),星星2,42,4是11级的。例图中有11个00级,22个11级,11个22级,11个33级的星星。给定星星的位置,输出各级星星的数目。换句话说,给定NN个点,定义每个点的等级是在该点左下方(含正左、正下)的点的数目,试统计每个等级有...
2022-03-18 17:10:03 142
原创 1264. 动态求连续区间和
给定nn个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列[a,b][a,b]的连续和。输入格式第一行包含两个整数nn和mm,分别表示数的个数和操作次数。第二行包含nn个整数,表示完整数列。接下来mm行,每行包含三个整数k,a,bk,a,b(k=0k=0,表示求子数列[a,b][a,b]的和;k=1k=1,表示第aa个数加bb)。数列从11开始计数。输出格式输出若干行数字,表示k=0k=0时,对应的子数列[a,b][a,b...
2022-03-17 21:55:25 105
原创 1231.航班问题
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int get_seconds(int h, int m, int s){ return h * 3600 + m * 60 + s;}int get_time(){ string line; getline(cin, lin.
2022-03-16 21:15:13 78
原创 1229. 日期问题
小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?输入格式
2022-03-16 20:35:41 66
原创 1219. 移动距离
X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3…当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为 6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 .....我们的问题是:已知了两个楼号m 和 n,需要求出它们之间的最短移动距离(不能斜线方向移动)。输入格式输入共一行,包含三个整数w,m,n ,w 为排号宽度,m,n 为待计算的楼号。输出格式输...
2022-03-14 21:37:06 193
原创 466. 回文日期
在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。牛牛习惯用8 位数字表示一个日期,其中,前4 位代表年份,接下来2 位代表月份,最后 2位代表日期。显然:一个日期只有一种表示方法,而两个不同的日期的表示方法不会相同。牛牛认为,一个日期是回文的,当且仅当表示这个日期的8 位数字是回文的。现在,牛牛想知道:在他指定的两个日期之间(包含这两个日期本身),有多少个真实存在的日期是回文的。一个8 位数字是回文的,当且仅当对于所有的i 1≤i≤8 从左向右...
2022-03-14 20:54:00 66
原创 1204. 错误票据
某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式第一行包含整数N ,表示后面共有N 行数据。接下来N 行,每行包含空格分开的若干个(不大于100个)正整数(不大于100000),每个整数代表一个ID号。输出格...
2022-03-14 18:07:29 104
原创 1236. 递增三元组
给定三个整数数组A=[A1,A2,…AN]B=[B1,B2,…BN]C=[C1,C2,…CN]请你统计有多少个三元组(i,j,k)(i,j,k)满足:1≤i,j,k≤N Ai<Bj<Ck输入格式第一行包含一个整数N 。第二行包含N 整数A1,A2,…AN第三行包含N 整数B1,B2,…BN第四行包含N 整数C1,C2,…CN输出格式一个整数表示答案。数据范围1≤N≤1e50≤Ai,Bi,Ci≤1e53...
2022-03-14 17:38:23 283
原创 1210. 连号区间数
小明这些天一直在思考这样一个奇怪而有趣的问题:在1∼N 的某个排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L,R][L,R]里的所有元素(即此排列的第L 个到第R 个元素)递增排序后能得到一个长度为R−L+1 的“连续”数列,则称这个区间连号区间。当N 很小的时候,小明可以很快地算出答案,但是当N 变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输入格式第一行是一个正整数N ,表示排列的规模。第二行是N 个不同的数字Pi ,表示这...
2022-03-14 16:04:46 88
原创 1211. 蚂蚁感冒
长100厘米的细长直杆子上有 n只蚂蚁。它们的头有的朝左,有的朝右。每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。输入格式第一行输入一个整数n, 表示蚂蚁的总数。接着的一行是n个用空格分开的整数Xi,Xi的绝对值表示蚂蚁离开杆子左边端点的距离。正值表示头朝右,...
2022-03-11 21:37:32 61
原创 1205. 买不到的数目
小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入格式两个正整数n,m,表示每种包装中糖的颗数。输出格式一个正整数,表示最大不能买到的糖数。数据范围.
2022-03-11 21:13:43 133
原创 快读模板(非常快)
inline int rd() { int f = 0; int x = 0; char ch = getchar(); for (; !isdigit(ch); ch = getchar()) f |= (ch == '-'); for (; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0'; if (f) x = -x; return x;}
2022-03-11 14:42:06 663
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人