4月7号总结

java学习

一.正则表达式

定义:正则表达式是一种用于描述字符串模式的表达式,通常被用于文本搜索、匹配和替换。它是一种强大的工具,可以在文本处理和文本分析中进行复杂的匹配和操作。

通过字符串引用里面的方法matches,然后执行匹配功能。

1.

举例:

 public static void main(String[] args) {String t="a";System.out.println(t.matches("[abc]"));}

上面代码表示,如果字符串t里面的元素之含[]里面有的,那么就返回真,反之返回假。

 public static void main(String[] args) {String t="p";System.out.println(t.matches("[abc]"));}

注意:只能匹配单个字符。

public static void main(String[] args) {String t="abc";System.out.println(t.matches("[abc]"));}

2.

举例:

注意:这里虽然是一个反斜杠,但是我们在写代码时需要两个,这是一个规则。

 public static void main(String[] args) {String t="2";System.out.println(t.matches("\\d"));}

2是数字,所以结果应该是真。

但是如果你使用了多字符还是会和上面一样,返回false,因为这个也是匹配单字符的。

3.

举例:

public static void main(String[] args) {String t="123";System.out.println(t.matches("[1-9]{3}"));}

上面是1到9之间的数字刚刚好出现三次。

所以应该返回真。

使用案例:

比如我们需要匹配一个qq好是否合理,我们知道qq号全部是由数字组成,并且第一个数字不能为0,长度在5到10之间。

那么我们就可以用这些信息来写一个匹配。

下面是完成的代码:

public static void main(String[] args) {String t="12003000";System.out.println(t.matches("[1-9]\\d{5,10}"));}

表示第一个数字在1到9之间,后面全部是由数字组成,不包括第一个字符在内后面有4到9个数字,加起来就是限制在5到10个数字。

二.线段树练习题

Sample 1

InputcopyOutputcopy
5 5
1 5 4 2 3
2 2 4
1 2 3 2
2 3 4
1 1 5 1
2 1 4
11
8
20

线段树的入门题,这里就不过多讲解。

AC代码:

#include<iostream>
#include<cstdio>
#define MAXN 1000001
#define ll long long
using namespace std;
unsigned ll n,m,a[MAXN],ans[MAXN<<2],tag[MAXN<<2];
inline ll ls(ll x)
{return x<<1;
}
inline ll rs(ll x)
{return x<<1|1;
}
inline void push_up(ll p)
{ans[p]=ans[ls(p)]+ans[rs(p)];
}
void build(ll p,ll l,ll r)
{tag[p]=0;if(l==r){ans[p]=a[l];return ;}ll mid=(l+r)>>1;build(ls(p),l,mid);build(rs(p),mid+1,r);push_up(p);
} 
inline void f(ll p,ll l,ll r,ll k)
{tag[p]=tag[p]+k;ans[p]=ans[p]+k*(r-l+1);
}
inline void push_down(ll p,ll l,ll r)
{ll mid=(l+r)>>1;f(ls(p),l,mid,tag[p]);f(rs(p),mid+1,r,tag[p]);tag[p]=0;
}
inline void update(ll nl,ll nr,ll l,ll r,ll p,ll k)
{if(nl<=l&&r<=nr){ans[p]+=k*(r-l+1);tag[p]+=k;return ;}push_down(p,l,r);ll mid=(l+r)>>1;if(nl<=mid)update(nl,nr,l,mid,ls(p),k);if(nr>mid) update(nl,nr,mid+1,r,rs(p),k);push_up(p);
}
ll query(ll q_x,ll q_y,ll l,ll r,ll p)
{ll res=0;if(q_x<=l&&r<=q_y)return ans[p];ll mid=(l+r)>>1;push_down(p,l,r);if(q_x<=mid)res+=query(q_x,q_y,l,mid,ls(p));if(q_y>mid) res+=query(q_x,q_y,mid+1,r,rs(p));return res;
}
int main()
{cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}build(1,1,n);while(m--){int k;cin>>k;switch(k){case 1:{ll l,r,w;scanf("%lld%lld%lld",&l,&r,&w);update(l,r,1,n,1,w);break;}case 2:{ll l,r;scanf("%lld%lld",&l,&r);printf("%lld\n",query(l,r,1,n,1));break;}}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599677.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多输入多输出 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络多输入多输出预测

多输入多输出 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络多输入多输出预测 目录 多输入多输出 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 多输入多输出 | Matlab实现OOA-BP鱼鹰算法优化BP神经网络…

有原则的程序员如何超越竞争对手(附演讲视频》

接受干净的编码实践&#xff0c;建立可维护的代码结构&#xff0c;并有效地管理自己&#xff0c;对于成为当今专业行业中具有竞争力和受欢迎的程序员至关重要。 在本指南中&#xff0c;我们将探讨每个熟练的程序员都应该精通的基本编码主题&#xff1a; - 遵守编程标准 …

2024年MathorCup妈妈杯数学建模思路C题思路解析+参考成品

1 赛题思路 (赛题出来以后第一时间在群内分享&#xff0c;点击下方群名片即可加群) 2 比赛日期和时间 报名截止时间&#xff1a;2024年4月11日&#xff08;周四&#xff09;12:00 比赛开始时间&#xff1a;2024年4月12日&#xff08;周五&#xff09;8:00 比赛结束时间&…

51单片机之串口通信

目录 1.串口简介 1.1TXD和RXD 1.2通讯接口 1.3通信方式 1.4 51单片机的UART模式 2.串口配置 2.1寄存器简介 SCON寄存器配置 PCON配置 2.2代码配置串口 2.2.1 配置串口发送数据 2.2.2配置电脑向单片机发送数据点亮LED 1.串口简介 串口是一个应用十分广泛的通讯接口&am…

数据恢复与数据取证的便携工具:PC-3000 Portable III

天津鸿萌科贸发展有限公司从事数据安全业务20余年&#xff0c;在数据恢复、数据取证、数据备份等领域有丰富的案例经验、前沿专业技术及良好的行业口碑。同时&#xff0c;公司面向取证机构及数据恢复同行&#xff0c;提供实验室建设方案&#xff0c;包含数据恢复与数据取证硬件…

怎么把学浪的视频保存到手机

越来越多的人在学浪app里面购买了课程并且想要下载下来&#xff0c;但是苦于没有方法或者工具&#xff0c;所以本文将教大家如何把学浪的视频保存到手机随时随地的观看&#xff0c;再也不用担心课程过期的问题。 本文将介绍工具来下载&#xff0c;因为下载方法太复杂&#xff…

4.6java学习总结

内部类(补充) 局部内部类 如果在外界定义会检测不到你所定义的局部内部类,直接报错. public class Main {public static void print(int age,int b){class person{int age;public person(int age) {this.age age;}void show(){System.out.println("内部类输出: "a…

鸿蒙学习记录

问题小测记录 总结链接&#xff1a;小测总结 学习笔记&#xff1a;鸿蒙开发学习记录 1、 main_pages.json存放页面page路径配置信息。 2、在stage模型中&#xff0c;下列配置文件属于AppScope文件夹的是&#xff1f; app.json5 3、module.json5配置文件中&#xff0c;包含…

34-4 CSRF漏洞 - CSRF跨站点请求伪造

一、漏洞定义 CSRF(跨站请求伪造)是一种客户端攻击,又称为“一键式攻击”。该漏洞利用了Web应用程序与受害用户之间的信任关系,通过滥用同源策略,使受害者在不知情的情况下代表攻击者执行操作。与XSS攻击不同,XSS利用用户对特定网站的信任,而CSRF则利用了网站对用户网页…

Vue - 你知道Vue中key的工作原理吗

难度级别:中级及以上 提问概率:80% 在Vue项目开发中,并不推荐使用索引做为key,以为key必须是唯一的,可以使用服务端下发的唯一ID值,也不推荐使用随机值做为key,因为如果每次渲染都监听到不一样的key,那么节点将无法复用,这与Vue节…

HCLR-Net: 混合对比学习正则化与局部随机扰动用于水下图像增强

论文地址&#xff1a;https://doi.org/10.1007/s11263-024-01987-y 源码&#xff1a;https://github.com/zhoujingchun03/HCLR-Net 摘要&#xff1a; 由于水下环境复杂多样&#xff0c;导致光吸收、散射和色彩失真等严重退化现象&#xff0c;因此水下图像增强是一项重大挑战…

python 06实验

实验目的 &#xff08;1&#xff09;掌握Python流程控制语句&#xff0c;合理使用循环进行程序设计 &#xff08;2&#xff09;掌握Python数据结构&#xff0c;能熟练运用进行程序设计 &#xff08;3&#xff09;掌握Python的文件读写&#xff0c;能编写读取数据集的程序 1…