- 博客(13)
- 收藏
- 关注
原创 设计模式之观察者模式
观察者模式当对象之间存在一对多的关系时,可以使用观察者模式。事例引入现在有一个温度系统,这个系统有许多的用户,当温度改变时,该系统便会通知所有的用户,更新用户的温度信息。若不使用观察者模式,这样的一个系统该如何实现呢?如下:public class TemperatureSystem { User userA; User userB; User userC; public void temperatureChange(double temperature
2022-04-17 12:12:02 515 1
原创 设计模式之策略模式
策略模式策略模式:策略模式定义了算法族,并将它们分别封装起来,让它们之间相互可以替换,该模式让算法的变化独立于使用算法的客户。事例引入以使用洗衣机为例,洗衣机有多种洗衣策略,而用户需要在这些策略中选出一种策略,然后交给洗衣程序进行执行:而在策略模式中,则有三种角色:抽象策略角色:用户需要完成的目标,即上述的洗衣目标具体策略角色:完成目标所采取的方法、策略,即上述的洗衣策略环境角色:即持有具体策略角色的角色,即上述的洗衣程序,拥有多种洗衣策略而在代码实现中,如下:代码实现抽象策略接
2022-04-15 20:18:07 314
原创 设计模式之代理模式
代理模式在现实生活中,经常会有代理模式的场景,如房屋中介、婚介所等等事例引入以房屋中介为实例,在中介不普及的时候,客户需要租房子,直接找房东即可,房东直接租房给客户,对应的关系如下:这样就产生了一个问题,如果客户直接找房东的话,房东就会产生大量的操作,如打广告、带客户看房、签合同等等,此时便产生了房屋中介,房东仅需要将房钥匙提供给中介,中介来完成将房子租出去这个目标,并且打广告、签合同之类全部交给中介去完成:对于客户而言,并没有发生太多的变化,无论找中介还是房东,都可以完成租房的需求,中介和房
2022-04-13 10:16:27 472
原创 设计模式之单例模式
单例模式单例模式指的是在软件系统中,对于某个类而言,只能存在一个对象实例单例模式的特征类的构造器私有化在类的内部创建类的对象提供公有的静态方法,返回类的对象要求对象也声明为静态的单例模式的分类饿汉式饿汉式指的是在该单例类被加载时,即创建该类的对象。懒汉式懒汉式类似于懒加载,当需要获取该类的对象时,才创建该类的对象。单例模式的实现饿汉式饿汉式的单例模式实现,并没有线程安全的问题,因为它在类被加载的时候,就被直接创建了,而再次被调用时,返回的都是同一个对象class Singl
2022-04-13 10:10:55 377
原创 牛客小白月赛30题解
比赛传送门没有参加正式赛,创了场重现赛来玩玩,AC8题做最后俩题只剩15分钟,感觉没时间了就没写qwq补题的时候发现并没有比前面的题目难多少呜呜呜感觉小白赛的题目和以往相比变得简单了很多考查了简单的数据结构以及它的应用,重点应该还是对思维的考察A 黑白边题目描述:n个点,m条边,每条边分为黑边和白边,现在需要挑一些边出来,使得n个点可以两两联通。由于牛牛特别讨厌白边,所以在挑中的边中,让白边最少,输出白边的条数,如果不能两两联通,输出−1.输入描述:第一行两个整数n,mn,mn,m
2021-01-08 13:44:55 875
原创 ZOJ3261 Connections in Galaxy War(逆向并查集)
题目传送门 zoj3261In order to strengthen the defense ability, many stars in galaxy allied together and built many bidirectional tunnels to exchange messages. However, when the Galaxy War began, some tunnels were destroyed by the monsters from another dimension
2020-12-22 11:01:35 137
原创 武汉工程大学第三届ACM程序设计新生赛(多校联赛正式赛)题解
武汉工程大学第三届ACM程序设计新生赛(多校联赛正式赛)题解传送门A 如何才能防AK前置知识:无题意:统计10出现的次数,若超过6个则输出 just so so,若为1~5个则输出 good,若无则输出 666。解法:签到题,用一个变量cnt来统计10出现的次数,然后输出即可Code:#include<bits/stdc++.h>using namespace std;int T,cnt;//全局变量 默认为0int main(){ scanf("%d",&am
2020-11-24 10:42:39 516
原创 洛谷 P3395 路障(BFS复习)
题目描述:B君站在一个n×nn×nn×n的棋盘上。最开始,B君站在(1,1)(1,1)(1,1)这个点,他要走到(n,n)(n,n)(n,n)这个点。B君每秒可以向上下左右的某个方向移动一格,但是很不妙,C君打算阻止B君的计划。每秒结束的时刻,C君会在(x,y)(x,y)(x,y)上摆一个路障。B君不能走在路障上。B君拿到了C君准备在哪些点放置路障。所以现在你需要判断,B君能否成功走到(n,n)(n,n)(n,n)。保证数据足够弱:也就是说,无需考虑“走到某处然后被一个路障砸死”的情况,因为答案不会
2020-11-13 20:36:40 667
原创 洛谷 P2894 [USACO08FEB]Hotel G
题目描述:The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and enjoy a vacation on the sunny shores of Lake Superior. Bessie, ever the competent travel agent, has named the Bullmoose Hotel on famed Cumberland Street as their v
2020-11-09 17:25:52 245
原创 洛谷 P6492 [COCI2010-2011#6] STEP
题目描述:给定一个长度为 nnn 的字符序列 aaa ,初始时序列中全部都是字符LLL。有 qqq 次修改,每次给定一个 xxx ,若 axa_xax 为 LLL ,则将 axa_xax 修改成RRR,否则将 axa_xax 修改成 LLL。对于一个只含字符 LLL ,RRR 的字符串 SSS,若其中不存在连续的 LLL 和 RRR ,则称 SSS 满足要求。每次修改后,请输出当前序列 aaa 中最长的满足要求的连续子串的长度。输入格式:第一行有两个整数,分别表示序列的长度 nnn
2020-11-04 23:17:30 264
原创 洛谷 P4588 [TJOI2018] 数学计算
题目描述:小豆现在有一个数xxx,初始值为111.小豆有QQQ次操作,操作有两种类型:$1 m:x = x \times m $ 输出 $ x % mod$$2 pos: x = x / $ 第pospospos次操作所乘的数(保证第pospospos次操作一定为类型111,对于每一个类型111的操作至多会被除一次)输出$ x % mod$输入格式:一共有ttt组输入(t≤5)(t \leq 5)(t≤5);对于每一组输入,第一行是两个数字Q,mod(Q≤100000,mod≤10
2020-11-04 11:36:22 347
原创 蓝桥杯 第六届国赛D题 密文搜索
蓝桥杯 第六届国赛D题 密文搜索题目描述:福尔摩斯从X星收到一份资料,全部是小写字母组成。他的助手提供了另一份资料:许多长度为8的密码列表。福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的。请你编写一个程序,从第一份资料中搜索可能隐藏密码的位置。要考虑密码的所有排列可能性。输入格式:输入第一行:一个字符串s,全部由小写字母组成,长度小于1024*1024紧接着一行是一个整数n,表示以下有n行密码,1<=n<=1000紧接着是n行字符串,都是小写字母组成,长度都为8输出格
2020-11-03 10:58:40 271
原创 牛客暑假多校训练营(第四场) H Harder Gcd Peoblem
牛客暑假多校训练营(第四场)H Harder Gcd Peoblem题意: 给出N,在1~N所有数中,选出M对数字,并且每对数字满足gcd(a_i,b_i)>1,让M尽可能的大,输出最大的M以及这M对数字。思路: 首先应考虑有哪些数不能参与匹配,分析可知,1与任何正数的gcd都为1,则1无匹配对象,再考虑质数,质数与它本身的倍数的gcd>1。所以,1和大于N/2的质数一定没有匹配对象。 则在此题中,首先筛选出N以内的素数,并记录在pri数组中://简单的埃氏筛法void i
2020-09-14 22:50:53 198 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人