持久化

HDU.4757.Tree(可持久化Trie)

别等时光非礼了梦想. 提交于 2019-12-18 14:29:53
题目链接 \(Description\) 给定一棵树,点有点权。 \(Q\) 次询问 \(x,y,z\) ,求 \(x\) 到 \(y\) 的简单路径中,与 \(z\) 异或能得到的最大的数是多少。 \(Solution\) 对于给定数集的询问,我们可以建Trie树,从高位到低位贪心地走(能走优的就走)。 同树上的主席树一样,利用父节点的根节点建树,就是可持久化Trie。 令 \(w=LCA(u,v)\) 。因为只是xor一个数,所以用 \(u,v,w\) 三个点的根节点就可以了,最后再判断一下 \(w\) 是否可能更优(不需要 \(fa[w]\) )。 在 \(u,v,w\) 三棵Trie上走,若 \(sz[u]+sz[v]-2*sz[w]>0\) 则能走。 区间询问同理也可以做。 //1201MS 30704K #include <cstdio> #include <cctype> #include <cstring> #include <algorithm> #define gc() getchar() #define BIT 15 const int N=1e5+5; int Enum,H[N],nxt[N<<1],to[N<<1],A[N],root[N],fa[N],dep[N],sz[N],son[N],top[N]; struct Trie { #define S

可持久化数据结构题目泛做。

我只是一个虾纸丫 提交于 2019-12-17 18:15:18
个人理解: 每个新的线段树的一个结点保存的是1...位置 i中的数字在相应的区间上有几个。 然后我们用r-(l-1)得到的就是l...r上的中字在相应的区间中出现了几个。 题目1 POJ2104 题目大意:静态查询区间第K小值。 裸的可持久化线段树。 1 #include <cstdlib> 2 #include <iostream> 3 #include <algorithm> 4 #include <cstdio> 5 #include <cstring> 6 7 using namespace std; 8 const int N = 100000 + 5; 9 10 struct SegTree { 11 int l, r, size; 12 }Node[N * 30]; 13 14 struct data { 15 int v, pos; 16 bool operator < (const data &k) const { 17 return v < k.v; 18 } 19 }a[N]; 20 21 int n, m, rank[N], l, r, k, root[N], tot; 22 23 void build(int &o, int l, int r) { 24 o = ++ tot; 25 Node[o].l = Node[o].r = Node[o].size

我的python之旅呀-08持久化存储文件操作

放肆的年华 提交于 2019-12-17 01:10:48
一、文件操作 1、文件打开 使用 open() 函数 打开一个已经存在的文件,或者创建一个新文件 格式: open(文件名,访问模式) 默认的打开方式是’r’ f = open ( 'doc/hello.txt' , mode = 'w' ) (1)如果文件不存在那么创建,如果存在那么就先 清空 ,然后写入数据 (2)文件名最好写为绝对路径 (3)模式: r w a r+ w+ a+ 读 写 追加 读写 追加到文章开头 追加到文章末尾 (4)要读取二进制文件,比如图片、视频等等,用’rb’, ‘wb’, 'ab’等模式打开文件即可 2、文件对象的属性 属性 描述 file.closed 判断文件是否关闭,关闭返回True,否则返回False file.mode 返回被打开文件的访问模式 file.name 返回文件的名称 file.softspace 如果用print输出后,必须跟一个空格符。则返回False,否则返回True 3、文件对象的常用方法 1、读 file . read ( ) #读取指定字节,默认1024 file . readline ( ) #读取文件的一行内容 file . readlines ( ) #读取文件的所有内容,返回一个列表,列表元素是每行内容 (1)文件比较小时,使用 read、readlines (2)文件比较大时,使用readline (3

持久化存储

这一生的挚爱 提交于 2019-12-11 21:16:37
数据持久化存储类型: emptyDir HostPath 1. emptyDir: spec: nodeName: 10.0.0.13 volumes: - name: mysql emptyDir: {} containers: - name: wp-mysql image: 10.0.0.11:5000/mysql:5.7 imagePullPolicy: IfNotPresent ports: - containerPort: 3306 volumeMounts: - mountPath: /var/lib/mysql name: mysql 2.HostPath: spec: nodeName: 10.0.0.13 volumes: - name: mysql hostPath: path: /data/wp_mysql containers: - name: wp-mysql image: 10.0.0.11:5000/mysql:5.7 imagePullPolicy: IfNotPresent ports: - containerPort: 3306 volumeMounts: - mountPath: /var/lib/mysql name: mysql 来源: https://www.cnblogs.com/yangxiaoni/p/12025143.html

Android Q 持久化logcat日志

时光毁灭记忆、已成空白 提交于 2019-12-11 07:02:28
一.背景: Android开发经常遇到一个问题,测试提供的日志没有抓到问题发生点的日志,也就是问题发生时的日志被设备最新的日志冲刷掉了 二.解决思路: 在和谷歌的沟通过程中,谷歌在日志系统中明确要求合作伙伴的开发人员提供bugreport.zip。在这个压缩包中,解压后的bugreport-你的设备名称-2019-11-26-11-19-49.zip\FS\data\misc\logd中会持久化的保存logcat日志(最多255个) 那么顺着谷歌的思路,很容易联想到adb shell进入设备命令行,查看data\misc\logd目录下的文件 接下来在opengrok中搜索“data/misc/logd”很容易就能搜索到logd相关的文件。 介绍logd配置的文件是:system/core/logcat/logpersist和system/core/logd/README.property,两个文件很容易看懂意思,简单来说就是通过build.prop配置属性,然后开启logd服务,保存logcat日志 三.解决方案 在device/设备厂商/xxx.mk下,配置如下内容即可使上述功能生效: ifeq ($(TARGET_BUILD_VARIANT),userdebug) PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \ persist.logd

BZOJ 3261: 最大异或和 可持久化trie

久未见 提交于 2019-12-09 04:05:55
模板题,刷点数据结构 ~ code: #include <bits/stdc++.h> #define N 600009 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int rt[N],sum[N],tot; struct node { int ch[2],cnt; }t[N*28]; void insert(int a,int b,int len,int num) { if(len<0) return; int o=(num>>len)&1; t[b].ch[o^1]=t[a].ch[o^1]; t[b].ch[o]=++tot; t[t[b].ch[o]].cnt=t[t[a].ch[o]].cnt+1; insert(t[a].ch[o],t[b].ch[o],len-1,num); } int query(int l,int r,int len,int x) { if(len<0) return 0; int o=(x>>len)&1; if(t[t[r].ch[o^1]].cnt>t[t[l].ch[o^1]].cnt) { return (1<<len)+query(t[l].ch[o^1],t[r].ch[o^1],len-1,x); } else { return query(t[l

Kubernetes 持久化存储之GlusterFS

感情迁移 提交于 2019-12-08 22:25:35
GlusterFS 是一个开源的分布式文件,具有强大的横向扩展能力,可支持数PB存储容量和数千客户端,通过网络互连成一个并行的网络文件系统。具有扩展性、高性能、高可用性等特点。 前提:必须要在实验环境中部署了Gluster FS集群,文中创建了名为:gv0的存储卷 1.创建 endpoint ,文件名为 glusterfs_ep.yaml $ vi glusterfs_ep.yaml apiVersion: v1 kind: Endpoints metadata: name: glusterfs namespace: default subsets: # 添加GlusterFS各个集群的IP地址 - addresses: - ip: 10.0.0.41 - ip: 10.0.0.42 ports: # 添加GlusterFS端口号 - port: 49152 protocol: TCP 执行yaml $ kubectl create -f glusterfs_ep.yaml endpoints/glusterfs created // 查看创建好的endpoints [root@k8s-master01 ~]# kubectl get ep NAME ENDPOINTS AGE glusterfs 10.0.0.41:49152,10.0.0.42:49152 15s 2

rocketmq如何新增topic

ε祈祈猫儿з 提交于 2019-12-08 20:28:28
新增topic是需要客户端直接通知broker完成的: 通过createAndUpdateTopicConfig方法 发送给broker以后,在AdminBrokerProcessor里面负责处理这个类型消息: private synchronized RemotingCommand updateAndCreateTopic(ChannelHandlerContext ctx, RemotingCommand request) throws RemotingCommandException { final RemotingCommand response = RemotingCommand.createResponseCommand(null); final CreateTopicRequestHeader requestHeader = (CreateTopicRequestHeader) request.decodeCommandCustomHeader(CreateTopicRequestHeader.class); log.info("updateAndCreateTopic called by {}", RemotingHelper.parseChannelRemoteAddr(ctx.channel())); if (requestHeader.getTopic()

apscheduler的持久化存储

一世执手 提交于 2019-12-08 19:32:41
1、mysql url="mysql+pymysql://user:passwd@host/dbname?charset=utf8" job.scheduler.add_jobstore(jobstore="sqlalchemy",url=url,tablename='api_job') 2、sqlite from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.jobstores.mongodb import MongoDBJobStore from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor jobstores = { 'mongo': MongoDBJobStore(), 'default': SQLAlchemyJobStore(url='sqlite:///jobs.sqlite') } executors = { 'default': ThreadPoolExecutor(20), 'processpool':

MyBatis学习整理0

China☆狼群 提交于 2019-12-07 19:17:22
学习java的基本都会“ssh”,我也不例外,其中就包括了hibernate,当时感觉挺神奇的,去年开始接触mybatis,一对比发现,这mybatis有不少优点。 下面分享一下我在学习mybatis的时候整理的内容。 1、组织 基本配置的xml 映射关系的xml 映射的接口 获取`session`的工具类 实体类 这里需要注意的是: 两个xml文件都是使用dtd进行约束描述的,(dtd文件不一样); 基本配置的xml文件配置项是有顺序的,properties,settings,typeAliases,typeHandlers,objectFactory,objectWrapperFactory,plugins,environments,databaseIdProvider,mappers; 映射配置可以使用xml也可以使用接口类,而且可以共存; 使用接口类进行映射配置,不需要写实现类,只需要在接口方法上进行注解配置即可; 接口上注解配置映射时,可以直接写sql,也可以使用单独的工具类提供sql,不同的注解配置; 对于使用单独工具类为注解接口提供sql的情况,需要在注解时为参数提供名字,同时工具类中使用`SQL`类,进行链式编程 2、实体类中的属性名和表中的字段名不一致时 当实体类中的属性名和表中的字段名不一致时