- 2024腾讯最新面经总结:面试题库+实战笔记(附答案解析)
2401_84048521
程序员面试笔记职场和发展
20、你们用过缓存吗没有,但是用redis做了分布式锁21、你说说下分布式锁怎么做的?分布式锁也是一个锁,需要满足几个特性,1可重入2可以识别加锁的身份防止ABA问题3考虑是否需要续约key是所需要加上的锁的业务资源唯一编码,value是当前线程的uuid,uuid存在threadLocal内加锁的时候用的jedis,先设一个过期时间,然后用ex,若不存在key则添加新key,若已经存在则直接失败
- mongodb常用操作命令
行思理
数据库mongodb数据库
1、MongoDBShell工具mongosh一般的链接命令格式为:mongosh"mongodb://hostname:port"示例:mongosh"mongodb://localhost:27017"2、显示所有数据库showdbs或者showdatabases3、切换到指定数据库(如果不存在则创建):use4、删除当前数据库:db.dropDatabase()5、查看当前所使用的数据库db
- 【SpringBoot】——如何在Spring Boot中使用ThreadLocal来存储和获取用户详情信息以及实体类参数验证
Y小夜
Springbootspringboot后端java
个人主页:【Y小夜】作者简介:一位双非学校的大二学生,编程爱好者,专注于基础和实战分享,欢迎私信咨询!入门专栏:【MySQL,Java基础,Rust】热门专栏:【Python,Javaweb,Vue框架】感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️目录ThreadLocal如何在SpringBoot中使用ThreadLocal来存储和获取用户详情信息创建用户详情类使用拦截器或过滤器
- vue iview 实现搜索 组件
hamburgerDaddy1
原创vue
0">搜索历史-->清空{{item.name}}exportdefault{name:'citicSearch',data(){return{search_key:'',searchHistory:[],isRecord:false//搜索历史框显示}},methods:{//清空历史记录clearHistory(){localStorage.removeItem('citicSearchRec
- 任务计划程序出错0x1 不能正常完成 应用程序-特定 权限设置并未向在应用程序容器 不可用 SID
无风的浪花
windowsservicepython
问题:应用程序-特定权限设置并未向在应用程序容器不可用SID(不可用)中运行的地址LocalHost(使用LRPC)中的用户17\AdministratorSID(S-1-5-21-330377560-317033357-2560255023-500)授予针对CLSID为{D63B10C5-BB46-4990-A94F-E40B9D520160}、APPID为{9CA88EE3-ACB7-47C8
- oracle:SID匹配错误
iteye_11495
数据库java网络
报错:java.sql.SQLException:Listenerrefusedtheconnectionwiththefollowingerror:ORA-12505,TNS:listenerdoesnotcurrentlyknowofSIDgiveninconnectdescriptorTheConnectiondescriptorusedbytheclientwas:localhost:15
- C/C++内存管理
bbppooi
c++c语言c++学习算法开发语言
1.C/C++内存分布我们先来看下面的一段代码和相关问题intglobalVar=1;staticintstaticGlobalVar=1;voidTest(){staticintstaticVar=1;intlocalVar=1;intnum1[10]={1,2,3,4};charchar2[]="abcd";constchar*pChar3="abcd";int*ptr1=(int*)mall
- axios 5种请求接口方式的区别
饱饱~~
axiosajax
1、get:获取数据不带参数的写法//方式1:axios({url:'/路径',methods:'get'})//方式2:axios.get('/路径')带参数的写法:(参数被拼接在url地址上,或者被包裹在params属性对象内)//方式1://请求的地址实际为localhost:8080/url?id=22axios.get('/路径',{params:{id:22}})//方式2:axios
- Scala的隐式对象
yuhuhuh
scala
隐式对象:implicitobject//隐式对象//implicitobject//作用:给函数的隐式参数提供默认值objecttest5{caseclassDatabaseConfig(driver:String,url:String)//作为函数的隐式参数的默认值implicitobjectMySqlDefaultextendsDatabaseConfig("mysql","localhos
- 使用nginx 代理内网中的es的head插件访问
健康平安的活着
nginxelasticsearch大数据搜索引擎
一背景需求描述1.1需求描述es的访问地址:http://localhost:9200/_plugin/head/现在不想把9200端口暴露出去,改用80端口,现在使用nginx进行反向代理操作。1.2操作一1.nginx的配置location/es{proxy_passhttp://localhost:9200/;#roothtml;#indexindex.htmlindex.htm;}2.访问
- windows下srs流媒体服务器使用ffmpeg推流
-Mr_X-
ffmpeg
安装windows版本srs下载链接:Windows|SRS执行命令:ffmpeg推流命令:ffmpeg-i"rtsp://admin@
[email protected]:554/Streaming/Channels/101"-c:vcopy-c:aaac-fflv"rtmp://localhost:1935/live/stream"1.推流本地摄像头到流媒体服务器适用于将本地摄像头实时推流到RT
- 以太坊DPOS私链搭建--使用gttc,搭建一个可用于性能测试的区块链框架(1)
过河卒啦啦啦
区块链研究区块链以太坊
遇到的一些坑bootnode一直不起作用,所以决定不用它,改用static-nodes.json在阿里云机器上编译gttc系统Ubuntu16.04想把eth服务部署到docker中方便移植,但是gttc没有官方docker,所以先把环境搭起来,然后自己创建一个docker镜像安装go语言环境,版本go1.14.10注意需要先在电脑上下载好,再传到服务器,不然没法解压。tar-Cusr/local
- Spark----Spark 在不同集群中的架构
XiaodunLP
Spark
Spark注重建立良好的生态系统,它不仅支持多种外部文件存储系统,提供了多种多样的集群运行模式。部署在单台机器上时,既可以用本地(Local)模式运行,也可以使用伪分布式模式来运行;当以分布式集群部署的时候,可以根据自己集群的实际情况选择Standalone模式(Spark自带的模式)、YARN-Client模式或者YARN-Cluster模式。Spark的各种运行模式虽然在启动方式、运行位置、调
- springboot在线票务预订平台(特麦网)设计与实现
pingfan_yu
SpringBoot实战案例计算机毕业设计实战案例springboot后端java
开发技术简介开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器后台路径地址:localhost:8080/项目名称/admin/dist/index.html前台路径地址:loca
- 程序代码篇---C/C++中的变量存储位置
Ronin-Lotus
程序代码篇c语言c++栈堆静态区文字常量区变量存储位置
文章目录前言1.栈(Stack)特点生命周期示例2.堆(Heap)特点生命周期示例3.静态区(Static/Global区)a.已初始化数据段(.data段)特点生命周期示例b.未初始化数据段(.bss段)特点示例4.文字常量区(常量区)特点生命周期示例5.代码区(TextSegment)特点示例6.线程局部存储(Thread-LocalStorage,TLS)特点示例7.综合示例代码8.关键区别
- Spark性能调优方法总结
Cynthiaaaaalxy
spark大数据分布式
1、资源分配优化 Spark的分配资源主要就是executor、cpuperexecutor、memoryperexecutor、drivermemory等的调节,我们在生产环境中,提交spark作业时,用的spark-submitshell脚本,里面调整对应的参数:/usr/local/spark/bin/spark-submit–confspark.default.parallelism=1
- Deepin登录后提示“解锁登陆密钥环里的密码不匹配”
Lu01
OperatingSystemlinux
删掉.local/share/keyrings目录下的login.keyring文件即可。命令如下:cd.localcdshare/keyrings/rm-rflogin.keyring
- deepin mysql位置_在deepin linux系统安装mysql5.6
万能嬉皮士
deepinmysql位置
下载mysql-5.6.46-linux-glibc2.12-x86_64,如果没有见5.6版本,先点“lookingforthelastestGAversion”,就可以选择5.6版本切换root用户,用tar命令解压这个包,再文件复制到/usr/local/mysql文件夹下:root@fenghuo-PC:~#tar-zvxf/home/fenghuo/Desktop/mysql-5.6.4
- deepin linux安装mysql启动方法
Wilburzzz
linux
#deepin安装mysql启动方法在终端首先输入代码进入mysql安装的文件夹cd/usr/local/mysql然后exportPATH=/usr/local/mysql/bin:$PATH最后mysql-uroot-p输入你第一次安装mysql修改过的密码进入mysql后退出命令是exit
- Lua 常用工具类代码记录(一)
警醒与鞭策
UnityHotFix
//Lua正则表达式如何匹配中文///functionCheckChinese(s)localret={};localf='[%z\1-\127\194-\244][\128-\191]*';localline,lastLine,isBreak='',false,false;forvins:gfind(f)dotable.insert(ret,{c=v,isChinese=(#v~=1)});en
- .NetCore Avalonia UI 支持多语言 国际化
SabreWulf2020
Avaloniaavalonia双语多语言
你想本地化用Avalonia编写的桌面程序吗,让我们看看怎么实现。要本地化应用程序,我们必须能够直接在XAML中本地化字符串访问代码中的本地化字符串要在XAML中翻译字符串,我们可以使用自定义的MarkupExtension和bindings。publicclassLocalizeExtension:MarkupExtension{publicLocalizeExtension(stringkey
- 牛笔了!2024年Android-高级面试题总结
2401_86964130
android
5.执行所有字段定义处的初始化,从基类开始。6.执行构造器。(在第一行会执行基类的构造器)4.对象的销毁是按照创建的逆序来进行的。5.final的方法和类都不允许覆盖和继承。private默认实现了final。6.简述内部类的特点7.形式参数可被视为localvariable,也就是说形式参数相当于在方法中定义了一个局部变量a,当传入c时,只是将c指向的对象给a8.finally语句块是在tr
- HTTP和HTTPS详解
Cedicn
计算机网络httphttps网络协议
HTTPHTTP超文本传输协议,是基于TCP实现的应用层协议。HTTP的工作过程一次HTTP操作称为一个事务,其整个工作过程如下:1)地址解析如用客户端浏览器请求这个页面:localhost.com:8080/index.htm从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:协议名:http主机名:localhost.com端口:8080对象路径:/inde
- httpslocalhostindex 配置的nginx,一刷新就报404了
m0_74824802
面试学习路线阿里巴巴nginx运维
当你的Nginx配置导致页面刷新时报404错误时,通常是由于以下几个原因造成的:静态文件路径配置错误:Nginx没有正确地指向静态文件的目录。前端路由问题:如果是SPA(单页应用),刷新页面时Nginx没有正确地将请求重定向到入口文件(如index.html)。反向代理配置错误:如果Nginx作为反向代理,后端服务可能没有正确处理请求。检查和解决步骤1.检查静态文件路径配置确保Nginx配置文件中
- Arm64架构的Linux服务器安装jdk8
web_15534274656
面试学习路线阿里巴巴服务器架构linux
一、下载JDK8打开浏览器,访问oracle官网找到适用于自己服务器的arm64架构的JDK8安装包。二、安装JDK8将下载好的JDK压缩包上传到服务器上解压JDK压缩包:tar-zxvfjdk-8uXXX-linux-arm64.tar.gz选择安装目录,我将JDK安装到/usr/local/目录下:mvjdk1.8.0_XXX/usr/local/jdk8三、配置环境变量打开环境变量配置文件:
- Docker部署 MongoDB及常用命令
KawYang
dockermongodb
docker部署dockerrun-d\--namemongo\-eMONGO_INITDB_ROOT_USERNAME=root\-eMONGO_INITDB_ROOT_PASSWORD=123456\-p27017:27017\-v./local-mongo-data:/data/db\mongo:latest或者编写docker-compose.yaml文件。如下:version:'3.1'
- 如何在docker中访问宿主机其他服务的接口
2401_89793006
热门话题docker容器运维
1.使用host.docker.internal(推荐)适用场景:DockerDesktop(Windows和macOS)或DockerEngine18.03+(Linux)。原理:Docker提供了一个特殊的主机名host.docker.internal,指向宿主机。使用方法:在容器中访问宿主机服务时,使用host.docker.internal代替localhost或127.0.0.1。例如,
- chainlit stream 模式简单说明
尺颜
chrome前端
chatappstream模式还是很重要的,现在的llmapi基本都支持stream模式了chainlit也提供了stream模式的支持参考处理登录后复制importchainlitasclfromopenaiimportAsyncOpenAIclient=AsyncOpenAI(api_key="sk-ZTp5zuetNQoJNgG4xHgGzw",base_url="http://localh
- langchain4j+springboot流式输出
deepseek
序本文主要研究一下langchain4j+springboot如何实现流式输出步骤pom.xmldev.langchain4jlangchain4j-reactor$1.0.0-beta1application.yamllangchain4j:ollama:streaming-chat-model:base-url:http://localhost:11434model-name:deepseek
- 又一个大模型宝藏开源项目:深入探索 graphrag-local-ollama:开源项目的深度剖析与应用实战
python_知世
LLMAI大模型大模型技术AIollamagraphrag开源
一、引言随着人工智能技术在各个领域的广泛应用,对高效、灵活且经济的模型解决方案的需求日益迫切。传统的模型使用方式往往受到诸多限制,如高昂的成本、对网络的依赖以及数据隐私等问题。在这样的背景下,开源项目graphrag-local-ollama应运而生。graphrag-local-ollama是微软graphrag的一个创新扩展,它专注于支持使用ollama下载的本地模型。这一特性使得用户能够在本
- HQL之投影查询
归来朝歌
HQLHibernate查询语句投影查询
在HQL查询中,常常面临这样一个场景,对于多表查询,是要将一个表的对象查出来还是要只需要每个表中的几个字段,最后放在一起显示?
针对上面的场景,如果需要将一个对象查出来:
HQL语句写“from 对象”即可
Session session = HibernateUtil.openSession();
- Spring整合redis
bylijinnan
redis
pom.xml
<dependencies>
<!-- Spring Data - Redis Library -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redi
- org.hibernate.NonUniqueResultException: query did not return a unique result: 2
0624chenhong
Hibernate
参考:http://blog.csdn.net/qingfeilee/article/details/7052736
org.hibernate.NonUniqueResultException: query did not return a unique result: 2
在项目中出现了org.hiber
- android动画效果
不懂事的小屁孩
android动画
前几天弄alertdialog和popupwindow的时候,用到了android的动画效果,今天专门研究了一下关于android的动画效果,列出来,方便以后使用。
Android 平台提供了两类动画。 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。
第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。
- js delete 删除机理以及它的内存泄露问题的解决方案
换个号韩国红果果
JavaScript
delete删除属性时只是解除了属性与对象的绑定,故当属性值为一个对象时,删除时会造成内存泄露 (其实还未删除)
举例:
var person={name:{firstname:'bob'}}
var p=person.name
delete person.name
p.firstname -->'bob'
// 依然可以访问p.firstname,存在内存泄露
- Oracle将零干预分析加入网络即服务计划
蓝儿唯美
oracle
由Oracle通信技术部门主导的演示项目并没有在本月较早前法国南斯举行的行业集团TM论坛大会中获得嘉奖。但是,Oracle通信官员解雇致力于打造一个支持零干预分配和编制功能的网络即服务(NaaS)平台,帮助企业以更灵活和更适合云的方式实现通信服务提供商(CSP)的连接产品。这个Oracle主导的项目属于TM Forum Live!活动上展示的Catalyst计划的19个项目之一。Catalyst计
- spring学习——springmvc(二)
a-john
springMVC
Spring MVC提供了非常方便的文件上传功能。
1,配置Spring支持文件上传:
DispatcherServlet本身并不知道如何处理multipart的表单数据,需要一个multipart解析器把POST请求的multipart数据中抽取出来,这样DispatcherServlet就能将其传递给我们的控制器了。为了在Spring中注册multipart解析器,需要声明一个实现了Mul
- POJ-2828-Buy Tickets
aijuans
ACM_POJ
POJ-2828-Buy Tickets
http://poj.org/problem?id=2828
线段树,逆序插入
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;#define N 200010struct
- Java Ant build.xml详解
asia007
build.xml
1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台 --因为ant是使用java实现的,所以它跨平台使用简单--与ant的兄弟make比起来语法清晰--同样是和make相比功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有
- android按钮监听器的四种技术
百合不是茶
androidxml配置监听器实现接口
android开发中经常会用到各种各样的监听器,android监听器的写法与java又有不同的地方;
1,activity中使用内部类实现接口 ,创建内部类实例 使用add方法 与java类似
创建监听器的实例
myLis lis = new myLis();
使用add方法给按钮添加监听器
- 软件架构师不等同于资深程序员
bijian1013
程序员架构师架构设计
本文的作者Armel Nene是ETAPIX Global公司的首席架构师,他居住在伦敦,他参与过的开源项目包括 Apache Lucene,,Apache Nutch, Liferay 和 Pentaho等。
如今很多的公司
- TeamForge Wiki Syntax & CollabNet User Information Center
sunjing
TeamForgeHow doAttachementAnchorWiki Syntax
the CollabNet user information center http://help.collab.net/
How do I create a new Wiki page?
A CollabNet TeamForge project can have any number of Wiki pages. All Wiki pages are linked, and
- 【Redis四】Redis数据类型
bit1129
redis
概述
Redis是一个高性能的数据结构服务器,称之为数据结构服务器的原因是,它提供了丰富的数据类型以满足不同的应用场景,本文对Redis的数据类型以及对这些类型可能的操作进行总结。
Redis常用的数据类型包括string、set、list、hash以及sorted set.Redis本身是K/V系统,这里的数据类型指的是value的类型,而不是key的类型,key的类型只有一种即string
- SSH2整合-附源码
白糖_
eclipsespringtomcatHibernateGoogle
今天用eclipse终于整合出了struts2+hibernate+spring框架。
我创建的是tomcat项目,需要有tomcat插件。导入项目以后,鼠标右键选择属性,然后再找到“tomcat”项,勾选一下“Is a tomcat project”即可。具体方法见源码里的jsp图片,sql也在源码里。
补充1:项目中部分jar包不是最新版的,可能导
- [转]开源项目代码的学习方法
braveCS
学习方法
转自:
http://blog.sina.com.cn/s/blog_693458530100lk5m.html
http://www.cnblogs.com/west-link/archive/2011/06/07/2074466.html
1)阅读features。以此来搞清楚该项目有哪些特性2)思考。想想如果自己来做有这些features的项目该如何构架3)下载并安装d
- 编程之美-子数组的最大和(二维)
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
import java.util.Random;
public class MaxSubArraySum2 {
/**
* 编程之美 子数组之和的最大值(二维)
*/
private static final int ROW = 5;
private stat
- 读书笔记-3
chengxuyuancsdn
jquery笔记resultMap配置ibatis一对多配置
1、resultMap配置
2、ibatis一对多配置
3、jquery笔记
1、resultMap配置
当<select resultMap="topic_data">
<resultMap id="topic_data">必须一一对应。
(1)<resultMap class="tblTopic&q
- [物理与天文]物理学新进展
comsci
如果我们必须获得某种地球上没有的矿石,才能够进行某些能量输出装置的设计和建造,而要获得这种矿石,又必须首先进行深空探测,而要进行深空探测,又必须获得这种能量输出装置,这个矛盾的循环,会导致地球联盟在与宇宙文明建立关系的时候,陷入困境
怎么办呢?
 
- Oracle 11g新特性:Automatic Diagnostic Repository
daizj
oracleADR
Oracle Database 11g的FDI(Fault Diagnosability Infrastructure)是自动化诊断方面的又一增强。
FDI的一个关键组件是自动诊断库(Automatic Diagnostic Repository-ADR)。
在oracle 11g中,alert文件的信息是以xml的文件格式存在的,另外提供了普通文本格式的alert文件。
这两份log文
- 简单排序:选择排序
dieslrae
选择排序
public void selectSort(int[] array){
int select;
for(int i=0;i<array.length;i++){
select = i;
for(int k=i+1;k<array.leng
- C语言学习六指针的经典程序,互换两个数字
dcj3sjt126com
c
示例程序,swap_1和swap_2都是错误的,推理从1开始推到2,2没完成,推到3就完成了
# include <stdio.h>
void swap_1(int, int);
void swap_2(int *, int *);
void swap_3(int *, int *);
int main(void)
{
int a = 3;
int b =
- php 5.4中php-fpm 的重启、终止操作命令
dcj3sjt126com
PHP
php 5.4中php-fpm 的重启、终止操作命令:
查看php运行目录命令:which php/usr/bin/php
查看php-fpm进程数:ps aux | grep -c php-fpm
查看运行内存/usr/bin/php -i|grep mem
重启php-fpm/etc/init.d/php-fpm restart
在phpinfo()输出内容可以看到php
- 线程同步工具类
shuizhaosi888
同步工具类
同步工具类包括信号量(Semaphore)、栅栏(barrier)、闭锁(CountDownLatch)
闭锁(CountDownLatch)
public class RunMain {
public long timeTasks(int nThreads, final Runnable task) throws InterruptedException {
fin
- bleeding edge是什么意思
haojinghua
DI
不止一次,看到很多讲技术的文章里面出现过这个词语。今天终于弄懂了——通过朋友给的浏览软件,上了wiki。
我再一次感到,没有辞典能像WiKi一样,给出这样体贴人心、一清二楚的解释了。为了表达我对WiKi的喜爱,只好在此一一中英对照,给大家上次课。
In computer science, bleeding edge is a term that
- c中实现utf8和gbk的互转
jimmee
ciconvutf8&gbk编码
#include <iconv.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <sys/stat.h>
int code_c
- 大型分布式网站架构设计与实践
lilin530
应用服务器搜索引擎
1.大型网站软件系统的特点?
a.高并发,大流量。
b.高可用。
c.海量数据。
d.用户分布广泛,网络情况复杂。
e.安全环境恶劣。
f.需求快速变更,发布频繁。
g.渐进式发展。
2.大型网站架构演化发展历程?
a.初始阶段的网站架构。
应用程序,数据库,文件等所有的资源都在一台服务器上。
b.应用服务器和数据服务器分离。
c.使用缓存改善网站性能。
d.使用应用
- 在代码中获取Android theme中的attr属性值
OliveExcel
androidtheme
Android的Theme是由各种attr组合而成, 每个attr对应了这个属性的一个引用, 这个引用又可以是各种东西.
在某些情况下, 我们需要获取非自定义的主题下某个属性的内容 (比如拿到系统默认的配色colorAccent), 操作方式举例一则:
int defaultColor = 0xFF000000;
int[] attrsArray = { andorid.r.
- 基于Zookeeper的分布式共享锁
roadrunners
zookeeper分布式共享锁
首先,说说我们的场景,订单服务是做成集群的,当两个以上结点同时收到一个相同订单的创建指令,这时并发就产生了,系统就会重复创建订单。等等......场景。这时,分布式共享锁就闪亮登场了。
共享锁在同一个进程中是很容易实现的,但在跨进程或者在不同Server之间就不好实现了。Zookeeper就很容易实现。具体的实现原理官网和其它网站也有翻译,这里就不在赘述了。
官
- 两个容易被忽略的MySQL知识
tomcat_oracle
mysql
1、varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误的回答。 这个问题我查了好多资料,有的人说是可以存储5个字符,2.5个汉字(每个汉字占用两个字节的话),有的人说这个要区分版本,5.0
- zoj 3827 Information Entropy(水题)
阿尔萨斯
format
题目链接:zoj 3827 Information Entropy
题目大意:三种底,计算和。
解题思路:调用库函数就可以直接算了,不过要注意Pi = 0的时候,不过它题目里居然也讲了。。。limp→0+plogb(p)=0,因为p是logp的高阶。
#include <cstdio>
#include <cstring>
#include <cmath&