当前位置: 首页 > news >正文

安卓 kuaishou 设备did和egid 学习分析

did和egid注册

接口 https://gdfp.ksapisrv.com/rest/infra/gdfp/report/kuaishou/android

did 是本地生成的16进制 或者 获取的 android_id

public static final Random f16237a = new Random(System.currentTimeMillis());
public static long m19668a() {    return f16237a.nextLong(); }
private static String m16457g() {try {return C4314az.m19633a(Long.toHexString(C4316bb.m19668a()), 16, '0');} catch (Throwable th) {th.printStackTrace();return null;}}

接口传输数据:

productName	KUAISHOU
ts	1595073602059
deviceInfo	3sCt3iAAMjE5NTY0Njg5AAIQAJ2ewbEC7J3ooFAJAAAkGUqVzgq%2B6ZBgbBLpGRojaWBHvg21P%2FEF%0A0iN01YrwCwIZSPntw6DoUwMzXr8oppoRkz7AGlYqAgwjxP1PhD6%2FZhgTnOZYiTXFyJ79ZTUFq30a%0Ai7elU%2Bppe3lEBOLxl3rzYZ6ZB2tARglqG2XiWRfVu5yrdI%2FiENYDLTbBqfVqJfcKxi0ESCSjbwZQ%0AsiK%2FRMw6MPwoRt60%2BEuORU5yAs6Rws0hYMe7eqs6sEEkQlcdShmtvj2yBTWV%2FRYf5DUXtpqTzWbJ%0Ahy4pS2meEEO9%2F73RpOKatCGhGg%2Foo1uK%2FaKNlZzNb0yIIh9alXI8OWIvTpuJ6paK2fuXxlf2W7wd%0AekGhEK3BrsSkkLpcanUslw9Dq5pMAJnlTl5C9CFK8PNk7B6pRzElnsntHFRHINLSZINLUbrcae4Z%0AfH0IHj78tSp569Isv%2Fsdc98fcQbaDofJOH0aBBYyzwg47HEqunqzVIWb3GmQF9unUwMYEtEOupiL%0Adj4WlCsfXwHnalMvVSPsmeaKCPjm%2FC3kt8SuIS7Q%2FQG7zvvEkX2TgLD%2BrGTkBynAlyaTLbSdhOBV%0AkjsZyomfwxJKYcg4jqpQESgAB%2F%2F5DlPiSKpY54U9os0y%2FyP0jfxmPPR2MGJlEHhF4wIvPjWwtb82%0A38nCeJGod0PwRo%2BWcB1xL2FQdw4POXISIarsC99Ah4FJufxMp7V1b8Htm1hi7EGc3jUAZTFUEfnN%0AymM8oe0CdVaofsLl900hbZpwAslPu35Lat04YVvVZKS1xTDt%2BiLqzyjhPKjD6fVxkppRGavKYh1w%0A9%2Bw2kqoLa9YnHnLvrtkDsr1%2FLmuf2CmjHxLbrlovJ06edV4zy10wAnkCNS7KN%2BBsshOnJmbb8pjp%0ADvF%2F7TtL8BwjdUcH%2BfS4NXiwhLvFpcPUmkZXOYqcQw21TZtaeMoHZlJf5zM2zQwHHNNiy04N6xxS%0A9Dw2z8iL3C1%2BYcX8icsgrSOTHXmBeMH1hgjsbCQtAKgCZaB8h6Z1Eci9GdC%2BFUZcshNRcOxPdrjo%0AZUrT7Llcfu8hd9hBlr3qUccsGiVRseTMr7USVQWr7Ki4tCglC0sy2PiGttV3z3GlkGv4EPf1AYPz%0AnouuNd8iR0H0njIGcKaOFQXUGTF%2FoFtctG0mTjj96gaRtVtnfY0x1Vbo6%2Fvgj7PQ2e8St66n8nzx%0AiOhghPpni3VVqiB%2BoMHMQP6FSxHTTGCN3ez3nVn8Sz%2BMDhFzh%2BxYjPbgf4IXV3jp0fj%2BmF0EvJQq%0AX4G3kODD67WQUR4ju2m1byV674ZDIsLQlVw539goCGlVPOqR9m9teBtOWkBF6fCTacIgQcmhdOJa%0A5lk7291BPvikTQzYbsdhlGHpt3sM2N25M6AS55hw09lw8uZZIzHekaifQg2CMzDn9hmtUfCgQ%2FII%0AXsk1qJ5kvFKeqkbq4NEiEknGKoJWqxnWyQrTJqy6lxB9hrNAU8KXIivfK%2FL%2FhsouE2ubXU8zPbxt%0AVQQZ6wASbe9cANu2NcFdR4tHOC3LUGvLqrdCVIwEiXgQe4QiR%2BUX%2FYQ9NtScA9vzKcS8b3h0jVgo%0ArbbzaHFvyZTYBEEpvJbT%2FAx3tZZLXqTzUCYY%2FNmsI6Ue3cPq6LI8OyqxrRrn%2FqIMMO4zRFWgeAOR%0A1n9N7suVla2bW3WVr1tQXxhWO0J%2B%2Bn%2BARhDYhamh%2FMQAyB%2FUfOj%2FZwf797YNMow5GLjPB%2FiAtwMM%0A0aZps1rqSg2RSa61rOsRDgLZUxSznFmWPXL1pcDCziapimWg3FIrcPdlBpTEhJ7PTx2oDeO64qEI%0Am5BBNkeIw8Al%2FAuL3mmhXl0zICFSBwi2L%2FaN%2Bf1928SAr6oldZx%2F92AAAXYOD8GVexG3tOQZI%2BLT%0AUEtgpzRotdCgSLDjnzjrIQALjnqNTG3mVBIMzMv17OwZRAXwg6Gq5ApzN5vdT66NBzj3jBfOEf57%0A%2Fg%2F5gigZoCLIL5nN8CIGGOwOX6jZu3uO78Pla6HVpvLICRD%2BlsEeChD5DkbMuKqYt2GYAWb44B%2Bp%0AHgi1hQ3aOkT9dWIc%2Bw4U5jimcCvDy0RWyTI4b7FvFPM7VM%2BPEopsuqCmyglHBf9Fdp%2B1xRMIyoL1%0A5%2BSMZs7ard1Zv0mHmkb8eflmVo%2BCvvU%2FTf25SZbFq64d2QNNJwAWuNGZyyrGnYEAJHhrQu1uen7o%0ALdANPPOn7OchweBoAiMVnYM0iDDGSRyv0jT5OPYuLdhMT%2B8ZsQ4V6mosOZZohA9LDcxoA87EzjPe%0ARIjVeb%2BaAQxnMKQKz66qc%2FEzNotP01DKyK%2BzZ4skVDWJuMZbkLxsgiBfE7%2BIk5rDNAhUignAa83J%0AqmU0v1WPCpuqe47vw%2BVrodWm8sgJEP6WwQdmJddfnDZz7p1YwpWTpGU3KUL80Ch6Wu5o4ddb5xw6%0AsmyqbSCTBbNC3%2FZvr%2FQuFNo2692n993d0E655JNM0WXbGGAq%2BPr4aVezc%2BYNsAhS0xHcLk1POoQM%0AHvle220aKLaF3zwPkoK8vQO0IwvH7nocI4DUqjGlkHsVaAnbMYTwDPZdjfgFPTP8aoRXctuqm%2Fp6%0AC%2BOrD1CwGKJCe1FpVSxPCynEUJq5YqHYtveA%2BH1Hc8%2FQer8uoDc2A1cmZc7oDuf6x4XSGsnPWoiM%0AbcQgfwAFZI6AcM6rFDlYIzIRBGVCBXsE8D6wPlWvAHYQz7BwZDUz8%2By1grZO7wYl4hMtbyZErgzI%0AIV4ktl7JrZ9nzV4bUhACmXEysdzdAn%2BM4I6C%2FBUzhyRw33WPK%2FoQGyPcQQ3A3RyZfSDfN0rnMgyE%0AsV655ANcWFaSyweqHdZK15PUM3kmDFVZZCWbXgdSWOfzrS04tOouKAx7OCF3B149%2Fw8Tl4am1q%2Bb%0AO0A770K9HXhOv4eId6JwRgds%2BnrcD3u%2BglChj6KkfcjmBoAYzlhS7IP%2FWcASrwmldIi207p3XMmv%0AkS3LcFy68W2en4JluUpfxhYZdm70oMVxRHBm6Oysz5XdU4J58AZ%2FtQ%2FFxbe0VIgefv3qtwY0iAv%2B%0AatUB%2BwbE%2FAvi4frlrK6iYwJ7F5yKxE%2FVZwu2Nh%2BAwYrsAgSbrVSUT8K6rpg1hUA%2B%2FR9zEC%2BdPnpM%0AOYSNqmNhclXeyixErKpUlSceJHSsIvgModdynT8%2BJma1eC33u9NA6j5IYBJICe0zf3jlYCNakjuh%0A6iQgnN4Oal%2FEsP7gFGt%2B8cXh1r1SGQ%3D%3D%0A
sign	2195646899cf1cc7a6d51bfbff3cfd31e6d9930c37
sv	2
{k31=fuels:wZ2fk8aflZefxsefl5CfxJQ=, k30=Flyme 7.1.7.1A, k33=notExist, k32=KWE_NC, k35=8.1.0, k34=[3.0,1080,2124,3.0,318.976,320.386], k37=OPM1.171019.026, k36=1.1.7.5.1, k39=1594992720872, k38=KWE_NC, k40=Meizu/meizu_M1852_CN/M1852:8.1.0/OPM1.171019.026/1540458566:user/release-keys, k42=KWE_NC, k41=KWE_N, k44=release-keys, k43=KWE_PN, k46=3885793280, k45=KWE_NC, k48=KWE_NC, k47=unknown, k49=0, k51=2c951907b69eb332, k50=KWE_NC, k53=KWE_NC, k52=meizu_M1852_CN, k55=a2:25:cb:02:6c:d8, k54=notExist, k57=KWE_PN, k56=KWE_NC, k59=1, k58=M1852, k60=unknown, k62=KWE_NC, k61=Meizu, k64=852QLDV924G42, k63=flyme, k66=56c4bf75e79c15c6, k65=KWE_NC, k68=KWE_PN, k67=KWE_N, k69=KWE_NC, k71=KWE_NPN, k70=KWE_NC, k73=KWE_NPN, k72=KWE_NC, k75=KWE_PN, k74=KWE_PN, k77=KWE_PN, k76=KWE_NC, k79=KWE_NC, k78=KWE_NC, k80=KWE_NU, k82=[1,BMI160_ACCELEROMETER Accelerometer Non-wakeup,50463488,BOSCH,19.6133,2500,0.18,5.9820566E-4:1,BMI160_ACCELEROMETER Accelerometer Wakeup,50463488,BOSCH,19.6133,2500,0.18,5.9820566E-4:35,BMI160_ACCELEROMETER Accelerometer-Uncalibrated Non-wakeup,50463488,BOSCH,19.6133,2500,0.18,5.9820566E-4:35,BMI160_ACCELEROMETER Accelerometer-Uncalibrated Wakeup,50463488,BOSCH,19.6133,2500,0.18,5.9820566E-4:4,BMI160_GYROSCOPE Gyroscope Non-wakeup,50463488,BOSCH,2.1815972,5000,0.9,6.6577064E-5:4,BMI160_GYROSCOPE Gyroscope Wakeup,50463488,BOSCH,2.1815972,5000,0.9,6.6577064E-5:16,BMI160_GYROSCOPE Gyroscope-Uncalibrated Non-wakeup,50463488,BOSCH,2.1815972,5000,0.9,6.6577064E-5:16,BMI160_GYROSCOPE Gyroscope-Uncalibrated Wakeup,50463488,BOSCH,2.1815972,5000,0.9,6.6577064E-5:27,Device Orientation  Non-wakeup,1,qualcomm,1.0,0,0.025,0.1:27,Device Orientation  Wakeup,1,qualcomm,1.0,0,0.025,0.1:15,Game Rotation Vector  Non-wakeup,1,qualcomm,1.0,5000,0.515,0.1], k81=KWE_NC, k84=27b63c793f46a83a, k83=KWE_FIRST, k86=KWE_N, k85=32622d8245dfe338, k88=noexsist, k87=3043341723, k89=1618696036, k91=1436926309, k90=KWE_NC, k93={"1":"0","0":6,"2":"false","8":"9","10":"KWE_N"}, k92=1595075739488, k95=0|183528f283c77d0cd0546206b607f638|7, k94=KWE_N, k97=09a0509a749e5304b670aabc548d508e, k96={"0":"1594988383000","1":"1"}, k99=KWE_NS, k98=KWE_NS, k1=KWE_NC, k2=WiFi, k3=com.smile.gifmaker, k4=KWE_NC, k5=54134046720, k6=0, k7=ANDROID_56c4bf75e79c15c6, k8=user, k9=3960YSZb8eGSEQuHyyHWM00lA2-UbYhFYDRRpstfiVo, k100=d7b7d042-d4f2-4012-be60-d97ff2429c17, k11=1, k10=0, k13=KWE_NC, k12=notExist, k15=KWE_NC, k14=AND:3193040869, k17=192.168.51.169, k16=Mz-Builder-L21, k19=sdm710, k18=isContent, k20=KWE_NC, k22=7.2.0.12758, k21=KWE_NC, k24=KWE_NC, k23=Meizu, k26=armeabi-v7a,armeabi, k25=0, k28=qcom, k27=M1852, k29=Dalvik/2.1.0 (Linux; U; Android 8.1.0; M1852 Build/OPM1.171019.026)}

研究某手的时候,会发现某手接口中存在两个参数至关重要,一个did,另外一个是egid

它们也就是快手的双参设备,如果从charles抓个设备包的话,请求频率过多,就会遇到请求太快访问频繁的问题

先抓个设备参数:

did: ANDROID_7c65a948b18ba4t5
egid:DFPB24F4EA19896D552C3C9578A09565335CDD5T20CF8991BECFDB15C69D974B

在这里插入图片描述

在这里插入图片描述

解决办法就是模拟请求,批量注册设备,效果如下:

刚注册出来的设备是不能直接使用的,还需要发送xxx 等相关接口日志激活。

在这里插入图片描述

这里放几个设备,有需要的小伙伴自取:

{'egid': 'DFPC681A0395B4984FB539014DB3493926FBBEA31961EE2E8FB428B881B3744F', 'did': '56ca8cbecec16c77'}
{'egid': 'DFPE862C9C29EB683AAA1CE7C9F01973E62C39E922E744F20954D4D6B3553DDC', 'did': 'f7a84c04051e6ec7'}
{'egid': 'DFPB6828D54C5C2CFA87C71834C175990B9E45E70DB066EFB29B463BEE7FD165', 'did': 'dc281d3be2e0c75a'}

经过测试,像搜索接口,视频评论,视频列表,用户主页等接口都可以应用。

相关文章:

安卓 kuaishou 设备did和egid 学习分析

did和egid注册 接口 https://gdfp.ksapisrv.com/rest/infra/gdfp/report/kuaishou/android did 是本地生成的16进制 或者 获取的 android_id public static final Random f16237a new Random(System.currentTimeMillis()); public static long m19668a() { return f1623…...

基于Vue+ELement实现增删改查案例与表单验证(附源码)

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《ELement》。🎯🎯 &#x1…...

webpack:使用externals配置来排除打包后的某个依赖插件IgnorePlugin的使用

背景 假设,我们写了一个库并使用 webpack 打包输出 bundle,但是这个库依赖一个第三方包,比如依赖 lodash,这时候我们不想把这个库打包进 bundle 里因为体积会变大,而且我们的主项目里已经安装了这个 lodash&#xff0…...

2023年中国工业脱水机行业供需分析:随着自动化和智能化技术的快速发展,销量同比增长4.9%[图]

工业脱水机行业是指专门从湿润的固体物料中去除水分的设备制造和相关服务。它广泛应用于食品加工、化工、制药、纺织、环保等行业,用于去除物料中的水分,提高产品质量和降低能耗。 工业脱水机行业分类 资料来源:共研产业咨询(共研…...

[论文笔记]MacBERT

引言 今天带来MacBERT的阅读笔记。论文题目是 重新审视中文自然语言处理的预训练模型。 本篇主要是探讨中文预训练语言模型在非英文语言中的有效性,然后提出了一种简单而有效的模型,称为MacBERT,它在多个方面改进了RoBERTa,特别是采用纠错型掩码语言模型(MLM as correcti…...

AI发展目前最大挑战是什么?

影响AI成本的因素包括多个方面: 首先,AI技术的复杂性是其成本高昂的一个重要原因。AI技术需要进行大量数据处理、模型训练和优化,这需要耗费大量的计算资源和时间。同时,AI技术需要高水平的专业人才进行设计、开发和维护&#xf…...

自然语言处理NLP:LTP、SnowNLP、HanLP 常用NLP工具和库对比

文章目录 常见NLP任务常见NLP工具英文NLP工具中文NLP工具 常见NLP任务 Word Segmentation 分词 – Tokenization Stem extraction 词干提取 - Stemming Lexical reduction 词形还原 – Lemmatization Part of Speech Tagging 词性标注 – Parts of Speech Named entity rec…...

百度交易中台之内容分润结算系统架构浅析

作者 | 交易中台团队 导读 随着公司内容生态的蓬勃发展,内容产出方和流量提供方最关注的“收益结算”的工作,也就成为重中之重。本文基于内容分润结算业务为入口,介绍了实现过程中的重难点,比如千万级和百万级数据量下的技术选型和…...

【索引】常见的索引、B+树结构、什么时候需要使用索引、优化索引方法、索引主要的数据结构、聚簇索引、二级索引、创建合适的索引等重点知识汇总

目录 索引的分类 什么时候需要 / 不需要创建索引? 有什么优化索引的方法 MySQL索引主要使用的两种数据结构是什么 为什么 MySQL 采用 B 树作为索引 聚簇索引和二级索引 根据给定的表,如何创建索引比较好 索引的分类 普通索引:最基本的…...

Egg 封装接口返回信息

中间件封装 代码 const msgArr {"200":成功,"401":token失效 } module.exports (option, app) > {return async function(ctx, next) {try{//成功是返回的信息ctx.emit(code,data,msg)>{console.log(1111,code,data,msg)ctx.body {code,data:dat…...

Android AMS——创建APP进程(五)

接上一篇,在 ActivityTaskSupervisor 中会判断进程是否存在,如果进程不存在,则会创建进程,执行 startProcessAsync() 方法。如果进程存在,则执行 realStartActivityLocked() 方法。在APP 的启动时,进程是不存在的。所以我们先来分析一下进程不存在的情况。 一、创建进程…...

凉鞋的 Unity 笔记 102. 场景层次 与 GameObject 的增删改查

102. 场景层次 与 GameObject 的增删改查 在上一篇,我们完成了 Unity 引擎的 Hello world 输出,并且完成了第一个基本循环: 通过这次基本循环的完成,我们获得了一点点的 Unity 使用经验,这非常重要。 有实践经验后再…...

信息安全:网络安全审计技术原理与应用.

信息安全:网络安全审计技术原理与应用. 网络安全审计是指对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作。网络安全审计的作用在于建立“事后“安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线…...

嵌入式Linux应用开发-第十三章APP怎么读取按键值

嵌入式Linux应用开发-第十三章读取按键及按键驱动程序 第十三章 APP怎么读取按键值13.1 妈妈怎么知道孩子醒了13.2 APP读取按键的4种方法13.2.1 查询方式13.2.2 休眠-唤醒方式13.2.3 poll方式13.2.4 异步通知方式13.2.4.1 异步通知的原理:发信号13.2.4.2 应用程序之…...

Web 中间件怎么玩?

本次主要是聊聊关于 web 中间件, 分为如下四个方面 什么是 web 框架中间件 为什么要使用 web 中间件 如何使用及其原理 哪些场景需要使用中间件 开门见山 web 中间件是啥 Web 框架中的中间件主要指的是在 web 请求到具体路由之前或者之后,会经过一个或…...

HMTL知识点系列(4)

目录 1. 在你过去的项目中,你如何解决HTML的布局和样式问题?2. 你能否解释一下HTML的“文档对象模型”(DOM)是什么,以及它的重要性?3. 你有没有经验处理网页的兼容性问题,特别是在不同浏览器之间…...

CFS内网穿透靶场实战

一、简介 不久前做过的靶场。 通过复现CFS三层穿透靶场,让我对漏洞的利用,各种工具的使用以及横向穿透技术有了更深的理解。 一开始nmap探测ip端口,直接用thinkphpv5版本漏洞工具反弹shell,接着利用蚁剑对服务器直接进行控制,留下…...

【RabbitMQ实战】07 3分钟部署一个RabbitMQ集群

一、集群的安装部署 我们还是利用docker来安装RabbitMQ集群。3分钟安装一个集群,开始。 前提条件,docker安装了docker-compose。如果没安装的话,参考这里 docker-compose文件参考bitnami官网:https://github.com/bitnami/contai…...

PS 切片工具 选择切片 切片存储

上文 PS 透视裁剪工具 中 我们简单讲述了透视裁剪工具 今天 我们来讲他后面的切片工具 首先 他的用途还是很多的 例如 你有一个很大的图片 其中包括 轮播 导航 主题内容 但他们都在一个图片上 你就可以用切片工具 将完整的图片切成多个部分 这里 我们选择了切片工具 光标也会…...

Git版本控制系统

概念: 一个免费的 开源 分布式源码仓库,帮助团队维护代码 个人使用 多人联机使用 git安装: 这里直接看大佬的安装 文章 很不错的 git 安装配置https://blog.csdn.net/mukes/article/details/115693833 安装完毕之后: 使用命名git -v查看…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...

智能职业发展系统:AI驱动的职业规划平台技术解析

智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...

Java数组Arrays操作全攻略

Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...

字符串哈希+KMP

P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...