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()方法

相关内容

热门资讯

嘉兴男子与妻争吵,突然将行李箱... 近日,浙江嘉兴一对夫妻因琐事发生争吵,丈夫突然将装满衣物的行李箱从6楼扔到楼下,引发关注。11月22...
三地107家律所齐聚丰台,京津... 11月22日,京津冀律师驿站举办“党建业务深度融合 促进行业规范发展”主题活动,发布“百千万行动计划...
家装预付资金安全困局如何破解,... 家装预付资金安全困局如何破解 专家提出:建立“先验收后付款”装修资金存管制度 预交数万元甚至数十万元...
工行安康解放路支行积极开展《反... 为深入贯彻落实《国家金融监督管理总局安康监管分局办公室关于开展<反有组织犯罪法>宣传活动的通知》要求...
重庆公布育儿补贴制度实施方案 原标题:每孩每年3600元 重庆公布育儿补贴制度实施方案 11月21日,记者了解到,市卫生健康委、市...
十五运会组委会在深总结本届赛事... 深圳新闻网2025年11月22日讯(深圳报业集团记者 林炜航)11月21日,十五运会组委会在深圳市民...
中国军视网:日本妄言击沉福建舰... 本文转自【中国军视网】; 日本首相高市早苗发表涉台错误言论,公然挑战一个中国原则,甚至还有日本无知政...
重磅!东莞长安50万㎡产城发布... 在当下竞争激烈的市场环境中,中小企业如何突破成本压力,找到一片既能扎根成长又能眺望未来的理想栖息地?...
毕马威:政策、资本等多维着力 ... 由毕马威联合长三角G60科创走廊创新研究中心主办的“长三角高端装备新质领袖榜单发布仪式”于11月21...