2023/3/21总结
创始人
2025-06-01 01:05:29
0

题解:

E - 2xN Grid (atcoder.jp)

1.这一题,就是求出第一行与第二行相对应的相同数字的个数,看数据有多大,我们就知道,这道题目,是不可能穷举的。

2.因此,我们需要 找到规律去写它。此题需要用到前缀和算法。

3.我们需要记录数字和他所在的区间。然后根据区间的位置去判断,该数是否在俩列重合,从而,去相加对应的区间。

代码如下:

#include
#define N 100010
struct node
{long long x;long long count;
}a[N][2];
int main()
{long long l,n1,n2,i,x,y,j,sum,max;scanf("%lld%lld%lld",&l,&n1,&n2);for(i=1;i<=n1;i++){scanf("%lld %lld",&a[i][0].x,&a[i][0].count);a[i][0].count+=a[i-1][0].count;}for(i=1;i<=n2;i++){scanf("%lld %lld",&a[i][1].x,&a[i][1].count);a[i][1].count+=a[i-1][1].count;}sum=0;for(i=1,j=1;i<=n1&&j<=n2;){if(a[i][0].x==a[j][1].x){if(a[i][0].counta[i-1][0].count){max=a[j-1][1].count;}else max=a[i-1][0].count;sum+=a[i][0].count-max;i++;}else if(a[i][0].count>=a[j][1].count&&a[j][1].count>a[i-1][0].count){if(a[j-1][1].count>a[i-1][0].count){max=a[j-1][1].count;}else max=a[i-1][0].count;sum+=a[j][1].count-max;j++;}else if(a[i][0].count=a[j][1].count){j++;}}else if(a[i][0].counta[j][1].count) j++;else {i++,j++;}}printf("%lld\n",sum);
}

 Problem - B - Codeforces

1.这一题说,只需要比较大小即可,如果它能拿的大,我们可以安排让他先拿完,保证永远比另外一个大

代码:

#include
#define N 110
int a[N];
int main()
{int t,n,i,s1,s2;scanf("%d",&t);while(t--){s1=s2=0;scanf("%d",&n);for(i=0;is2) puts("YES");else puts("NO");}return 0;
}

 Problem - C - Codeforces

1.这道题暴力枚举即可,我们去枚举每一个位置的后一个位置,以及后一个位置每次跳俩次,不相等即可,如果相等就一定是NO,否则是YES

代码:

#include
int main()
{int t,i,j,n;char s[2010];scanf("%d",&t);while(t--){int	flag=1;scanf("%d",&n);scanf("%s",s);for(i=0;i

 Problem - D - Codeforces

1.利用前缀和思想,去求出所有的前面的总和,然后减去区间的值,最后加上k*(r-l+1)判断奇数偶数即可

代码:

#include
#define N 200010
int a[N];
int b[N];
int main()
{int t,n,q,i,l,r,k;scanf("%d",&t);while(t--){//	sum=0;b[0]=0;scanf("%d%d",&n,&q);for(i=1;i<=n;i++){scanf("%d",&a[i]);b[i]=a[i]+b[i-1];}for(i=0;i

 

我这俩天试着写了很多题,但是提交上去不是TLE就是WA。所以那些题在没有写出来之前就并没有写题解了。

java知识点

java的控制台输入由system.in()完成。

用BufferedReader对象创建后,我们使用read()方法去从控制台读取一个字符,或者用readLine()方法读取一个字符串.

scanner类用于输入

next()获取字符串类似于c语言里面的scanf(“%s”),而nextLine()获取字符串很像gets。

输入int或者float类型的数据,输入之前最好使用hasNextXxx方法进行验证,再使用nextXxx来获取。

输入int时nextInt,float是nextFloat

读写文件是俩个流

FileInputStream和FileOutputStream

读取:

InputStream f=new FileInputStream(“工作目录”)

或者

File f=new File(“”);

InputStream in =new FileInputStream(f)

写入:

OutputStream f = new FileOutputStream(“”)

或者

File f = new File(“”);

OutputStream fout=new FileOutputSTream(f)

一些操作:

close()

write(int w) throws IOExpception{}

指定的字节写到输出流中

write(byte[] w)

把指定数组中w数组的长度字节写到OutputStream中

集合

java中集合框架有主要包括俩种类型的容器,一个是集合类collection,存储元素集合,一个是图Map,存储对应键、值对映射。集合类对应list、Set、Queen、抽象类、具体类(ArrayList、LinkedList、HashSet……)

集合框架包含以下内容:

接口:指代表集合的抽象数据类型。

实现(类)是集合接口的具体实现

算法:实现集合接口的对象里面的方法执行的一些有用的计算

内部类

定义在其他类内部的类称为内部类,也叫嵌套类,包含内部类的类也被称为外部类。

内部类比外部类可以多使用三个修饰符,private、protected、static——外部类不可以使用这三个修饰符。

静态内部类

如果使用static修饰一个内部类,那么这个内部类属于外部类本身,而不属于外部类的某一个对象。使用static修饰的内部类被称为类内部类,也称为静态内部类。

接口里面定义的内部类默认使用public static修饰,接口内部类只能是静态内部类。

如果希望在外部类以外的地方访问内部类,内部类不能使用public访问控制权限,private修饰的内部类只能在外部类内部使用。

局部内部类

把内部类放在方法里面定义,就叫这个内部类为局部内部类,局部内部类仅仅在该方法里面有效。局部内部类不能使用访问控制符和static修饰符修饰。

匿名内部类

匿名内部类只适合创建只需要使用一次的类,匿名内部类不能重复使用。

定义格式如下:

new 实现接口() //或者父类构造器(实参列表)

{

                //匿名内部类的类体部分

}

匿名内部类必须继承一个父类或者实现一个接口,但是最多只能继承一个父类和一个接口。

匿名内部类不能是抽象类,系统创建匿名内部类时,会创建匿名内部类的对象。

匿名内部类不能定义构造器,因为匿名内部类没有类名,所以无法定义构造器。但是它可以定义初始化块。

Lambda表达式允许使用更简洁的代码来创建一个抽象方法的接口(这种接口被称为函数式接口)

Lambda表达式语法:

(参数) ->(表达式)

或者

(参数)->{ (表达式);}

可以不声明参数类型,系统会识别,一个参数可以不订阅圆括号,但是多个参数需要。如果只有一个语句则不需要大括号,如果只有一个表达式,那么系统会自动返回,如果不是需要自己指定返回。

如果Lambda表达式的代码块只有一条代码,可以在代码块种使用方法引用和构造器引用。

枚举类

java中枚举类关键字是enum。枚举类不能派生子类。默认是private修饰,也只能是private修饰。

定义:

修饰符 enum 名称

{

……

}

枚举类也可以定义成员变量、方法和构造器,也可以包含抽象方法。

枚举类也可以实现一个或者多个接口。如果枚举类实现接口类里面的方法,那么每个枚举值在调用该方法时都有相同的行为方式。

强制回收内存:system.gc();或者Runtime对象的gc()实例方法Runtime.getRuntime().gc()。

如果想让系统自动回收,使用finalize()方法

相关内容

热门资讯

原创 权... 作者:吕东平 摘要 在全球化与文明对话日益深入的今天,某些国家仍呈现出权力结构对法治原则的系统性侵...
分手后男子起诉按现金价折算金饰... 近日,宁夏同心县人民法院公布一起案例,2024年9月,宝某与周某经人介绍相识并按照习俗结婚,宝某依习...
连连数字盘中一度涨超78% 香... 连连数字(02598)盘中一度涨超78% ,高见18港元,股价创新高,截至发稿,股价上涨65.47%...
官员饮酒聚餐致死,安徽:绝不姑... 据《安徽日报》报道,6月1日晚,安徽省委常委会召开会议,传达学习中央层面深入贯彻中央八项规定精神学习...
3名干部被查,均已退休,年龄最... 原江西省工业和信息化委员会党组成员、副主任杨人平被查 据江西省纪委监委5月30日消息:原江西省工业和...
曼联门神奥纳纳爆转会!沙特土豪... 各位球迷朋友们,转会市场这潭水啊,是越来越深,越来越浑!今儿个咱聊聊曼联的门神——安德烈·奥纳纳。这...
女子搬新家遭邻居多次持刀砍门,... 极目新闻记者 王柳钦 近日,有辽宁大连的网友发视频称,疑似患精神疾病的邻居多次持刀上门,用刀砍其家门...
提高额度、放宽范围!济南公积金... 5月30日,“卖旧买新”购房补贴刚公布,济南住房公积金新政再度上新! 济南市住房公积金最新消息,为进...
乌“蛛网”行动战报称摧毁大量俄... 每经编辑:毕陆名 据央视新闻6月2日消息,当地时间6月1日,记者获悉,据一位未透露姓名的美国政府官员...
巨子生物声明:接受检测机构道歉... DoNews6月2日消息,据每日经济新闻报道,6月1日22点32分,巨子生物旗下可复美微信公众号发布...