ISCC2024之Misc方向WP

目录

FunZip

Magic_Keyboard

Number_is_the_key

RSA_KU

成语学习

钢铁侠在解密

工业互联网模拟仿真数据分析

精装四合一

时间刺客

有人让我给你带个话


FunZip

题目给了一个txt,内容如下

一眼丁真,base隐写,使用工具即可得到flag

Flag:ISCC{ttR3PVFgurn6}

Magic_Keyboard

题⽬给了⼀段⾳频,是敲键盘的声⾳,需要知道敲的是什么键。

类似题:2021年pbctf有个题⽬叫 Ghost Writer ,跟这个题⽬类似,⽹上可以找到这个题⽬的wp

https://github.com/apoirrier/CTFs-writeups/blob/master/PBCTF2021/Misc/GhostWriter.md使⽤了GitHub上的⼀个项⽬acoustic_keylogger 。

它可以统计出哪⼏次按键是按的同⼀个键。使⽤该脚本跑出来以 abcdadadef 开头的⼀串字符,这刚好对应 ISCC{ 的⼗六进制“495343437b”,最后两个字符⼀定对应的是 } 的⼗六进制“7d”,其他的字符就需要反复的推敲。{}内部全都是⼩写字⺟和_ ,所以最终还是很容易推出⼀张映射表的。注意{}内是正常的英文句子。

{"a":4,"b":9,"c":5,"d":3,"e":7,"f":"b","m":"d","g":6,"h":8,"i":"f","j":1,"k":2,"l":"c","n":"e"}

EXP:

from sklearn.preprocessing import MinMaxScaler

from librosa.feature import mfcc

import numpy as np

from scipy.io import wavfile as wav


def wav_read(filepath):

    sample_rate, data = wav.read(filepath)

    if type(data[0]) == np.ndarray:

        return data[:, 0]

    else:

        return data


def detect_keystrokes(sound_data, sample_rate=44100):

    threshold = 5000

    keystroke_duration = 0.3

    len_sample = int(sample_rate * keystroke_duration)

    keystrokes = []

    i = 0

    while i < len(sound_data):

        if abs(sound_data[i]) > threshold:

            a, b = i, i + len_sample

            if b > len(sound_data):

                b = len(sound_data)

            while abs(sound_data[b]) > threshold and b > a:

                b -= 1

            keystroke = sound_data[a:b]

            trailing_zeros = np.array([0 for _ in range(len_sample - (b - a))])

            keystroke = np.concatenate((keystroke, trailing_zeros))

            keystrokes.append(keystroke)

            i = b - 1

        i += 1

    return np.array(keystrokes)


def extract_features(keystroke, sr=44100, n_mfcc=16, n_fft=441, hop_len=110):

    spec = mfcc(y=keystroke.astype(float), sr=sr, n_mfcc=n_mfcc, n_fft=n_fft, hop_length=hop_len)

    return spec.flatten()


data = wav_read("attachment-45.wav")

keystrokes = detect_keystrokes(data)

X = [extract_features(x) for x in keystrokes]

X_norm = MinMaxScaler().fit_transform(X)


letters = {}

phrase = []

current_letter = ord('a')


for x in X_norm:

    if x[0] not in letters:

        letters[x[0]] = current_letter

        current_letter += 1

    phrase.append(letters[x[0]])


mappings = {}


flag=("".join(mappings.get(char, char) for char in "".join([chr(x) for x in phrase])))

print(flag)

flag1=""

dict1={"a":4,"b":9,"c":5,"d":3,"e":7,"f":"b","m":"d","g":6,"h":8,"i":"f","j":1,"k":2,"l":"c","n":"e"}

for i in range(0,len(flag)):

    if flag[i] in dict1:

        flag1+=str(dict1[flag[i]])

    else:

        flag1+="_"

print(flag1)

运行后得到一串16进制字符

495343437b68655f7761735f61626c655f68756d616e7d

解密后得到flag:ISCC{he_was_able_human}

Number_is_the_key

仔细观察后发现excel部分单元格被进行了加粗处理

将被加粗部分涂黑即可得到一个二维码

手机扫码后即可得到flag

ISCC{rKmjyi1HRnqd}

RSA_KU

Info:

n = 129699330328568350681562198986490514508637584957167129897472522138320202321246467459276731970410463464391857177528123417751603910462751346700627325019668100946205876629688057506460903842119543114630198205843883677412125928979399310306206497958051030594098963939139480261500434508726394139839879752553022623977

e = 65537

c = 128078960193140808683559118633217600879940998817909568182141311537800867512690722368075522141556996276359237558158477733024825996070234180820860244607694198815376269550287105459194572190573383166386710828931679858562777866446477175529580658436251900048546779677845065373412279418363747278489630829416405841200

#(p-2)*(q-1) = 129699330328568350681562198986490514508637584957167129897472522138320202321246467459276731970410463464391857177528123417751603910462751346700627325019668067056973833292274532016607871906443481233958300928276492550916101187841666991944275728863657788124666879987399045804435273107746626297122522298113586003834

#(p-1)*(q-2) = 129699330328568350681562198986490514508637584957167129897472522138320202321246467459276731970410463464391857177528123417751603910462751346700627325019668066482326285878341068180156082719320570801770055174426452966817548862938770659420487687194933539128855877517847711670959794869291907075654200433400668220458

exp:(轩禹秒了)

成语学习

首先打开流量包,过滤http协议,发现上传了一张图片

将图片导出后修改宽高后得到key

key:57pmYyWt

然后用key作为密码去解压压缩包,解压出来的内容为something_copy103。后面加上.zip后缀,解压后发现O7avZhikgKgbF这个文件夹下面有flag文件,内容如下:

《你信我啊》

李维斯特指着墙上的“功成不居”边享用onion边和你说,你千万不要拿我的食物去加密啊。

然后用在线网址解密https://www.mklab.cn/utils/hmac ,其中“功成不居”是密文,密钥是onion,加密后得到flag为:457e684312266a62178513d47bbf992c

即:ISCC{457e684312266a62178513d47bbf992c}

钢铁侠在解密

题目给了一个图片:ironman.bmp和一个txt,txt内容如下:

首先将图片放到静谧之眼里面进行解密,得到一个新的txt文件,内容为:

网上找个板子(half-gcd),sage脚本跑完就能得到flag

ISCC{huan_ran_bing_shi_263}

Exp:

#sage

def HGCD(a, b):

    if 2 * b.degree() <= a.degree() or a.degree() == 1:

        return 1, 0, 0, 1

    m = a.degree() // 2

    a_top, a_bot = a.quo_rem(x ^ m)

    b_top, b_bot = b.quo_rem(x ^ m)

    R00, R01, R10, R11 = HGCD(a_top, b_top)

    c = R00 * a + R01 * b

    d = R10 * a + R11 * b

    q, e = c.quo_rem(d)

    d_top, d_bot = d.quo_rem(x ^ (m // 2))

    e_top, e_bot = e.quo_rem(x ^ (m // 2))

    S00, S01, S10, S11 = HGCD(d_top, e_top)

    RET00 = S01 * R00 + (S00 - q * S01) * R10

    RET01 = S01 * R01 + (S00 - q * S01) * R11

    RET10 = S11 * R00 + (S10 - q * S11) * R10

    RET11 = S11 * R01 + (S10 - q * S11) * R11

    return RET00, RET01, RET10, RET11



def GCD(a, b):

    print(a.degree(), b.degree())

    q, r = a.quo_rem(b)

    if r == 0:

        return b

    R00, R01, R10, R11 = HGCD(a, b)

    c = R00 * a + R01 * b

    d = R10 * a + R11 * b

    if d == 0:

        return c.monic()

    q, r = c.quo_rem(d)

    if r == 0:

        return d

    return GCD(d, r)

c1= 5351361435857354387644649659807113414229291648124734626745135198025698262851565531227275726598186093299640514377395244915284596752406671236222666830757455350781507657409525375993004003904268779400607143555598077316829176928860616940977501500053500617712428449519097936694069642312135953745146704457248433761849390123995761802692554762839532264856082713758585479437250011966512162009110500292456855899122603992497598349164825604642850794780409498411709154088138092404544306536513045319831486328867256219055016086185606392692562529644736782852853956670786208072423129373574126238164820946034733762267231637399020600473

c2= 10618458145966120480315499552726242705225099910596551233343623626371417178328307296439989167890692797080430010155270465833905384994306100207159200601762805644260559444600024171026528618755868358184107754737373113297678489872712796953136189024814002801858819870365117638297431031058987275725855946001791651845025125841201792166220197308971541916765179282551103642377403714477934592317869385394429509566520297527105060654104864950248563369117916530386995259741271368991151591237723139637011859850624171256798839551855594064157429161608898619665868867796298148016209125715637635692507717452493865536296764182085644494967

N= 14333611673783142269533986072221892120042043537656734360856590164188122242725003914350459078347531255332508629469837960098772139271345723909824739672964835254762978904635416440402619070985645389389404927628520300563003721921925991789638218429597072053352316704656855913499811263742752562137683270151792361591681078161140269916896950693743947015425843446590958629225545563635366985228666863861856912727775048741305004192164068930881720463095045582233773945480224557678337152700769274051268380831948998464841302024749660091030851843867128275500525355379659601067910067304244120384025022313676471378733553918638120029697

e = 52595


pad1 = 1769169763

pad2 = 1735356260

PR.<x>=PolynomialRing(Zmod(N))

g1 = (x*2^32+pad1)^e - c1

g2 = (x*2^32+pad2)^e - c2

X=584734024210292804199275855856518183354184330877

print(g1(X),g2(X))

res = GCD(g1,g2)

m = -res.monic().coefficients()[0]

print(m)


print(bytes.fromhex(hex(m)[2:]).decode().replace("flag{",'ISCC{'))

工业互联网模拟仿真数据分析

步骤如下

第一问

在某些网络会话中,数据包可能保持固定大小,请给出含有此确定性特征的会话IP地址和数据包字节大小值。

只有192.168.1.2à192.168.1.4的Length大小不变

结果:192.168.1.2,192.168.1.4,24

第二问

题目二:通信包数据某些字段可能为确定的,请给出确定字节数值。

tshark -r a.pcap -T fields -e data.data -Y "data.len==12"     
2024f7b039ae1f546c8e8b1b                                                                                                                                                                              

2024b939b6fdd3a92dacee64                                                                                                                                                                               

2024fd300d3fd17b85d1ae51                                                                                                                                                                                        

20249cf615176e00d3fde264                                                                                                                                                                                        

20247b5207a1d2b639fe1e55                                                                                                                                                                                        

202432b3b42ff36424a15d01                                                                                                                                                                                        

2024f2122ad847094be81d58                                                                                                                                                                                        

2024e866d7ec7b7d5ae618bf                                                                                                                                                                                        

20244057c7e66ca371b2c938                                                                                                                                                                                        

202433b4fba38bac7e29bc6a                                                                                                                                                                                        

2024796986cd9b1fc559ad61                                                                                                                                                                                        

20248c6b6efd392e9839a3eb                                                                                                                                                                                        

202462434670e7e76d766c58                                                                                                                                                                                        

20241cc66ab532ff8c8f1d2e

很明显就是前面的2024

第三问

一些网络通信业务在时间序列上有确定性规律,请提供涉及的IP地址及时间规律数值(小数点后两位)

看文末的流量分组

第五组 - 192.168.1.3    192.168.1.5, 这一组的时间间隔固定

结果:192.168.1.3,192.168.1.5,0.06

第四问

一些网络通信业务存在逻辑关联性,请提供涉及的IP地址

看文末的流量分组,就能看出这三个IP是有业务关联性的

192.168.1.3 --> 192.168.1.2 --> 192.168.1.6

结果:192.168.1.2,192.168.1.3,192.168.1.6

第五问

网络数据包往往会添加数据完整性校验值,请分析出数据校验算法名称及校验值在数据包的起始位和结束位(倒数位)

五个字符的校验算法,先假设是 CRC16 或者 CRC32 倒数位必为1

尝试CRC16 CRC32并尝试0-10为起始位

为CRC16,4,1时成功提交

所有的结果:

192.168.1.2,192.168.1.4,24

2024

192.168.1.3,192.168.1.5,0.06

192.168.1.2,192.168.1.3,192.168.1.6

CRC16,4,1

运行后得到flag

精装四合一

拿到图片后放入010editor发现每张图片的最下面都有一堆多余数据,那就把IEND及之前的数据全部删除,留下多余数据看看。

一堆乱码,可能是让我们进行异或,观察了一下每段数据都有较多的FF,就全选,异或ff试试。(四张都异或)

我们发现异或后的四个图片的文件头居然是50 4B 03 04,是我们熟悉的zip文件头,写脚本,将每段数据的字节按文件顺序进行拼接。

Exp:

tp1 = open("./left_foot_invert.png", "rb")

tp2 = open("./left_hand_invert.png", "rb")

tp3 = open("./right_foot_invert.png", "rb")

tp4 = open("./right_hand_invert.png", "rb")


fp5 = open("key.zip", "wb")

for i in range(3176):

    fp5.write(tp1.read(1))

    fp5.write(tp2.read(1))

    fp5.write(tp3.read(1))

    fp5.write(tp4.read(1))


fp5.write(tp1.read(1))

运行后得到key.zip,是加密的,爆破一下得到密钥为65537(rsa中常用的e,后续可能会用到rsa解密)

解压后得到一个word文档,里面有一个图片,将图片移开后,ctrl+a全选,换个主题即可得到一串数字:

16920251144570812336430166924811515273080382783829495988294341496740639931651

猜测其为rsa里面的n,factor分解后得到p,q

p=100882503720822822072470797230485840381

q=167722355418488286110758738271573756671

Exp:

import gmpy2

from Crypto.Util.number import *


n = 16920251144570812336430166924811515273080382783829495988294341496740639931651

#分解n在线网站:http://www.factordb.com/,得到p,q

p = 100882503720822822072470797230485840381

q = 167722355418488286110758738271573756671

e = 65537

phi_n = (p - 1) * (q - 1)


d = gmpy2.invert(e, phi_n)

c = bytes_to_long(open("./true_flag.jpeg", "rb").read())

m = pow(c, d, n)

flag = long_to_bytes(m)

print(flag)

运行后即可得到flag:ISCC{NbJY499CcSrP198}

b'\x02\x18\t\xcb\x7f\x9dT\xcc\xe1\x00ISCC{NbJY499CcSrP198}'

时间刺客

题目给了流量包”给你也用不了.pcap”和一个加密的7z文件,首先我们先分析一下流量包发现很多键盘鼠标流量

结合题目描述,可以初步判断出为键盘流量

我们可以利用tshark提取出有效数据段

tshark -r 给你也用不了.pcap -T fields -e usb.capdata > usbdata.txt

得到以下数据:

0000090000000000

0000000000000000

00000f0000000000

0000000000000000

0000040000000000

0000000000000000

00000a0000000000

0000000000000000

2000000000000000

20002f0000000000

2000000000000000

0000000000000000

0000130000000000

0000000000000000

0000150000000000

0000000000000000

0000200000000000

0000000000000000

0000220000000000

0000000000000000

0000220000000000

0000000000000000

2000000000000000

20002d0000000000

2000000000000000

0000000000000000

0000270000000000

0000000000000000

0000110000000000

0000000000000000

00001a0000000000

0000000000000000

0000040000000000

0000000000000000

0000150000000000

0000000000000000

0000070000000000

0000000000000000

0000160000000000

0000000000000000

2000000000000000

20002d0000000000

2000000000000000

0000000000000000

0000040000000000

0000000000000000

00001f0000000000

0000000000000000

0000090000000000

0000000000000000

0000080000000000

0000000000000000

0000080000000000

0000000000000000

0000230000000000

0000000000000000

0000080000000000

0000000000000000

0000270000000000

0000000000000000

2000000000000000

2000300000000000

2000000000000000

0000000000000000

0100000000000000

0100060000000000

接下来使用脚本处理一下,得到

FLAGPR3550NWARDSA2FEE6E0

EXP:

#1.使用脚本删除空行

with open('usbdata.txt', 'r', encoding='utf-8') as f:

    lines = f.readlines()

lines = filter(lambda x: x.strip(), lines)

with open('usbdata.txt', 'w', encoding='utf-8') as f:

    f.writelines(lines)


#2.将上面的文件用脚本分隔,加上冒号;

f=open('usbdata.txt','r')

fi=open('out.txt','w')

while 1:

  a=f.readline().strip()

  if a:

    if len(a)==16:#键盘流量的话len为16鼠标为8

      out=''

      for i in range(0,len(a),2):

        if i+2 != len(a):

          out+=a[i]+a[i+1]+":"

        else:

          out+=a[i]+a[i+1]

      fi.write(out)

      fi.write('\n')

  else:

    break

fi.close()



#3.最后用脚本提取

# print((line[6:8])) #输出6到8之间的值

#取出6到8之间的值

mappings = { 0x04:"A",  0x05:"B",  0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G",  0x0B:"H", 0x0C:"I",  0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O",  0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5",  0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]",  0X2B:"    ", 0x2C:" ",  0x2D:"-", 0x2E:"=", 0x2F:"[",  0x30:"]",  0x31:"\\", 0x32:"~", 0x33:";",  0x34:"'", 0x36:",",  0x37:"." }

nums = []

keys = open('out.txt')

for line in keys:

    if line[0]!='0' or line[1]!='0' or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0':

         continue

    nums.append(int(line[6:8],16))

keys.close()

output = ""

for n in nums:

    if n == 0 :

        continue

    if n in mappings:

        output += mappings[n]

    else:

        output += '[unknown]'

print ('output :\n' + output)

得到的并不是flag,用pr3550nwardsa2fee6e0去解密7z文件,成功得到一个新的rar文件,但是也是加密的,猜测密钥为大写的刚才的“flag”:PR3550NWARDSA2FEE6E0,得到一堆空文件,仔细观察发现时间有问题

写个时间戳脚本,可以得到flag

Exp:

import time

import os


# 设置包含文件的文件夹路径

folder_path = r"G:\CTF\练习\ISCC2024\Misc\时间刺客\attachment-27\20"  # 使用原始字符串以避免转义字符问题


# 初始化一个空字符串以保存结果字符

b = ""


# 循环处理从0到17(包括)的文件

for i in range(18):

    # 构造当前文件的完整路径

    file_path = os.path.join(folder_path, ".%s.txt" % i)

    

    # 获取文件的最后修改时间并转换为time.struct_time对象

    mtime = time.localtime(os.path.getmtime(file_path))

    

    # 将time.struct_time转换为格式化字符串,然后解析回time.struct_time以确保格式正确

    mtime = int(time.mktime(time.strptime(time.strftime('%Y-%m-%d %H:%M:%S', mtime), "%Y-%m-%d %H:%M:%S")))

    

    # 通过减去特定的基准值并转换为字符来计算字符

    b += chr(mtime - 1728864000)


# 打印结果

print("ISCC{%s}" % b)

有人让我给你带个话

题目给了一个图片和一个文件

首先使用foremost对tony.png进行分离得到新的图片,名称为:lyra.png

百度搜索后在github上发现项目工具lyra(1.3.2)

在kali上首先安装好bazel_5.3.2

(1)下载软件包

curl -O https://mirrors.huaweicloud.com/bazel/5.3.2/bazel_5.3.2-linux-x86_64.deb

(2)安装软件包

sudo dpkg -i bazel_5.3.2-linux-x86_64.deb

(3)检查是否安装成功(查看版本)

bazel --version

搭建好环境后将另外一个未命名文件修改后缀名为.lyra,这里我改名为key.lyra

运行得到一段音频

使用在线转换工具语音转文字|语音识别-在线录音转文字-录音转文字助手 将音频转化为文本

得到一串关于核心价值观的字符

平等平等自由友善自由自由友善爱国自由民主和谐平等平等平等自由平等自由民主和谐富强平等爱国自由自由自由友善法治。

解密后得到flag

ISCC{UJNA5UEA0XDM}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

functional函数对象库学习

类模板 std::function 是一种通用多态函数包装器。std::function 的实例能存储、复制及调用任何可复制构造 (CopyConstructible) 的可调用 (Callable) 目标——函数&#xff08;通过其指针&#xff09;、lambda 表达式、bind 表达式或其他函数对象&#xff0c;以及成员函数指针…

Java进阶学习笔记31——日期时间

Date&#xff1a; 代表的是日期和时间。 分配Date对象并初始化它以表示自标准基准时间&#xff08;称为纪元&#xff09;以来的指定毫秒数&#xff0c;即1970年1月1日00:00:00。 有参构造器。 package cn.ensource.d3_time;import java.util.Date;public class Test1Date {pu…

Tomcat安装和配置(图文详解)_tomcat安装及配置教程

Tomcat是一个开源的Web应用服务器&#xff0c;它是Apache软件基金会的一个项目。Tomcat被广泛用作Java Servlet和JavaServer Pages&#xff08;JSP&#xff09;技术构建的Web应用程序的运行环境。 它是轻量级的&#xff0c;适合中小型系统和并发访问用户不是很多的场合&#x…

FPGA基于DE2-115开发板驱动HC_SR04超声波测距模块|集成蜂鸣器,led和vga提示功能

文章目录 前言一、实验原理二、Verilog文件2.1 时钟分频2.2 超声波测距2.3 超声波驱动 三、实现过程3.1 模块说明3.2 引脚分配 三、演示视频总结参考 前言 环境 硬件 DE2-115 HC-SR04超声波传感器 软件 Quartus 18.1 目标结果 使用DE2-115开发板驱动HC-SR04模块&#xff0…

力扣刷题--2085. 统计出现过一次的公共字符串【简单】

题目描述 给你两个字符串数组 words1 和 words2 &#xff0c;请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。 示例 1&#xff1a; 输入&#xff1a;words1 [“leetcode”,“is”,“amazing”,“as”,“is”], words2 [“amazing”,“leetcode”,“is”] 输出…

万字详解 MySQL MGR 高可用集群搭建

文章目录 1、MGR 前置介绍1.1、什么是 MGR1.2、MGR 优点1.3、MGR 缺点1.4、MGR 适用场景 2、MySQL MGR 搭建流程2.1、环境准备2.2、搭建流程2.2.1、配置系统环境2.2.2、安装 MySQL2.2.3、配置启动 MySQL2.2.4、修改密码、设置主从同步2.2.5、安装 MGR 插件 3、MySQL MGR 故障转…

QT之动态加载树节点(QTreeWidget)

之前写过一篇动态加载ComboBox&#xff0c;可参见下面这篇文章 QT之动态加载下拉框&#xff08;QComboBox&#xff09; 同理QTreeWidget也可以实现动态加载&#xff0c;在一些异步加载数据&#xff0c;并且数据加载比较耗时&#xff0c;非常实用。 效果 原理分析 要实现此类效…

[数据集][图像分类]骨关节炎严重程度分类数据集14038张4分类

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;14038 分类类别数&#xff1a;4 类别名称:[“grade0”,“grade2”,“grade3…

如何使用KolorPanotourPro制作全景图像网页

目录 前言 KolorPanotourPro是什么 如何制作全景网页 1.拥有全景图 2.导入图片 3.在多张全景图中跳转 4.查看制作的全景网页 结束语 前言 今天是坚持写博客的第十五天&#xff0c;继续为努力和坚持的大家点赞和鼓掌。 书接上文&#xff0c;我们讲了如何使用如何使用A…

公园【百度之星】/图论+dijkstra

公园 图论dijkstra #include<bits/stdc.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pii; vector<ll> v[40005]; //a、b、c分别是小度、度度熊、终点到各个点的最短距离 ll a[40005],b[40005],c[40005],dist[40005],st[40005]; void…

1.1 OpenCV随手简记(一)

OpenCV学习篇 OpenCV (Open Source Computer Vision Library) 是一个开源的计算机视觉库&#xff0c;它提供了大量的算法和函数&#xff0c;用于图像处理、计算机视觉和机器学习等领域。 1. OpenCV 简介 1.1 OpenCV 的起源和发展 OpenCV 项目始于 1999 年&#xff0c;由 In…

IDeal下的SpringBoot项目部署

一、首先找到自己的sql文件&#xff0c;没有就从数据库挪进来 二、在Maven下打包一下&#xff08;点击package&#xff09;&#xff0c;看到BUILD SUCCESS就是打包好了 三、将上面两个文件分别挪到 linux 中对应的文件&#xff0c;没有就创建一个&#xff08;我的是spring_blog…

制作ChatPDF之Elasticsearch8.13.4搭建(一)

Elasticsearch8.x搭建 在Windows系统上本地安装Elasticsearch的详细步骤如下&#xff1a; 1. 下载Elasticsearch 访问 Elasticsearch下载页面。选择适用于Windows的版本8.13.4&#xff0c;并下载ZIP文件。 2. 解压文件 下载完成后&#xff0c;找到ZIP文件&#xff08;例如…

【2023百度之星初赛】跑步,夏日漫步,糖果促销,第五维度,公园,新材料,星际航行,蛋糕划分

目录 题目&#xff1a;跑步 思路&#xff1a; 题目&#xff1a;夏日漫步 思路&#xff1a; 题目&#xff1a;糖果促销 思路&#xff1a; 题目&#xff1a;第五维度 思路&#xff1a; 题目&#xff1a;公园 思路&#xff1a; 新材料 思路&#xff1a; 星际航行 思路…

网上蛋糕售卖店管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;店员管理&#xff0c;用户管理&#xff0c;商品管理&#xff0c;基础数据管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;公告信息&#xff0c;商品…

MFC 解决Enter回车键和Esc取消键默认关闭窗口的三种方法

文章目录 问题描述问题原因解决办法方法一&#xff1a;在重载的PreTranslateMessage 函数中屏蔽回车和ESC 的消息方法二&#xff1a;重载OnOK函数方法三&#xff1a;将所有按钮类型设为普通按钮&#xff0c;并设置其中一个按钮为默认按钮 问题描述 一般情况下编写的MFC对话框程…

【如何在日志中输出精确到毫秒的时间戳】

1. 需求 在日志中输出精确到毫秒级的时间戳&#xff0c; 格式为&#xff1a;%Y-%m-%d %H:%M:%S.%MS 如&#xff1a;2024-05-30 22:33:25.821 2. 代码实现 #include <iostream> #include <chrono> #include <iomanip> #include <sstream> #include &…

锻压设备智能制造工厂物联数字孪生平台,推进制造业数字化转型

锻压设备智能制造工厂物联数字孪生平台&#xff0c;推进制造业数字化转型。随着全球制造业的飞速发展&#xff0c;数字化转型已经成为企业提升竞争力、实现可持续发展的关键。在锻压设备智能制造领域&#xff0c;工业物联数字孪生平台以其强大的数据集成、分析和管理能力&#…

k均值过程图解

k均值聚类实际上是数据空间质心的Voronoi 划分问题。

C语言 | Leetcode C语言题解之第124题二叉树中的最大路径和

题目&#xff1a; 题解&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ int max; int dfs(struct TreeNode* root){if(!root) return 0;int left dfs(root->left…