首页 > TAG信息列表 > pb

002:难一点的swap

1 #include <iostream> 2 using namespace std; 3 4 void swap( 5 int* &a,int* &b 6 ) 7 { 8 int * tmp = a; 9 a = b; 10 b = tmp; 11 } 12 int main() 13 { 14 int a = 3,b = 5; 15 int * pa = & a; 16 int * pb = &

protobuf编译

Protocol Buffers是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化 https://github.com/protocolbuffers/protobuf.git 编译 # apt-get install autoconf automake libtool curl # autoconf # ./configure --prefix=/home/protobuf/install # make # make

JOISC 2022 乱做

非传统题不做。 Day1 T1 Jail 给定一棵 \(n\) 个点的树,有 \(m\) 个人,第 \(i\) 个人从 \(s_i\) 出发要到 \(t_i\),每次可以指定一个人走一条边。问是否存在一种方案让每个人都到 \(t_i\),且满足任何两个人不同时出现在同一个节点。 \(m \leq n \leq 1.2 \times 10^5\),\(s_i\) 互不相

Educational Codeforces Round 106 (Rated for Div. 2) | CF1499

E 一个暴力是显然的,\(f(i,j,k)\) 表示当前已经使用 \(a\) 的前 \(i\) 位,\(b\) 的前 \(j\) 位,最后一位是 \(a\) 还是 \(b\) 的。然后 \(O(n^2)\) 枚举起点跑下去即可。为啥这个是对的呢?考虑每次转移都是加 \(1/0\),显然之后在约束之下的转移本质不同。 第一眼我的想法是从如何对 \(2

初学C语言常见知识

指针变量是用来存储地址的 定义 指针变量 例如:int* p; int* p; //定义指针变量 p*p // * 是解引用操作符,间接访问操作符号 (是指向地址的值)指针大小 一般根据平台 位数 32位 为 4 ,64位 为8 结构体 创建结构体的时候 结尾需要加 ; 例如 sruck Book{char name ; short age;};初始化 创建

[AcWing 4290] 小希的迷宫

并查集 + 树的判定 点击查看代码 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 1e6 + 10; int n; int p[N]; int find(int x) { if (p[x] != x) p[x] = find(p[x]); return p[x]; } void merge(int a, int b) {

go搭建简单grpc服务(登录服务)2-增加proto字段,md5验签

上一篇随笔搭建一个简单的登录grpc服务,但还有一些需要完善,这篇随笔主要介绍 proto文件增加字段流程 md5签名   当前文件目录结构如下:     修改pb/users/login.proto,直接在pwd参数下增加一个字段stime,           使用如下命令重新生成pb/users/login.pb.go文件 protoc

【题解】FARIO2019-Nav

交互题,给定一张 \(n\) 个点无向图,进行 \(k\) 局游戏,每局先初始化一个点 \(x\),选手每次询问一个点 \(u\),返回 \(u\) 到 \(x\) 某条最短路上的某条边。需要在 \(9\) 次操作内求出点 \(x\)。\(n\le 300,k\le 750\)。 对于一条链的情况,可以直接二分。一棵树的情况可以直接点分治。

Leecode 160.相交链表(Java 哈希表、双指针)

        找两个链表第一次指针相同的地方     想法:(本来是没有的,因为没读懂题目描述= =) 1.两个指针,长的先走(长减短相差的长度)这么多的步数,然后就可以开始比较指针,直到指向为空,期间如果指针相同,返回该节点,如果链表未相交,则返回的是null   可是这是链表啊!没法知道长度!!!    

格子游戏

Alice和Bob玩了一个古老的游戏:首先画一个n*n的点阵(图4-22中n=3) 接着,他们两个轮流在相邻的点之间画上虚边和粗边: 直到围成一个封闭的圈(面积不必为1)为止,“封圈”的那个人就是赢家。因为棋盘实在是太大了(n<=200),他们的游戏实在是太长了!他们甚至在游戏中都不知道谁赢得了游戏。于是请你

AcWing 1252. 搭配购买(并查集+01背包)

题目描述 题目链接 题目思路 把所有有边相连的点合并在一起,并且维护总体积和总价值 把每个连通块看成一个物品,之后做一遍01背包 时间复杂度:O(nw) 题目代码 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 10010; int n,

五分钟给你的 gRPC服务 加上 HTTP 接口

gRPC 服务要加 HTTP 接口? go-zero 给大家带来极简的 RESTful 和 gRPC 服务开发体验的同时,社区又给我们提出了新的期望: 我想只写一次代码 既要 gRPC 接口 也要 HTTP 接口 既要。。。也要。。。 也有道理嘛!你看用户怎么说: 用户A:一套逻辑,api和rpc一起 用户B:go-zero要是能简化这一

平板电视(pb_ds)

简介 c++中自带了一些非常强大却鲜为人知的功能库—pd_ds库。pb_ds库全称是Policy-Based Data Structures,可见是一些数据结构的集合,主要是Hash表,平衡二叉树、Trie树,优先队列(堆)等。英文官方文档传送门。 平衡二叉树(Balanced Binary Tree) pb_ds中封装了红黑树(red-black tree)伸展树(sp

无向图连通分量正好是一个环

连通分量可以用并查集处理。 连通分量是环的条件可以是:边数等于点数,每个点的度都为2。 例题:AcWing 4493. 环形连通分量 #include<bits/stdc++.h> using namespace std; typedef long long LL; int p[200010]; int sz[200010]; int ec[200010]; bool flag[200010]; int find(int

WPF PasswordBox控件使用

一、PasswordBox的SecurePassword属性 正常的String类型值,在脱离开作用域之后,其值在内存中并不会被立即销毁,这时如果有人恶意扫描你的内存,程序中所保存的机密信息就会暴露;于是就有了System.Security.SecureString,SecureString表示一个应保密的文本,它在初始化时就已被加密,并

[做题笔记] pb大师的杂题选讲

[ARC117 F]Gateau 题目描述 点此看题 有一个长度为 \(2n\) 的环形蛋糕,现在要往上面放草莓。 对于每个 \(i\),都有限制 \(i,i+1...i+n-1\) 位置上的草莓总数至少是 \(a_i\)(注意蛋糕是环形的) 问至少要放几个草莓。 \(n\leq 1.5\cdot 10^5\) 解法 很容易想到对于前缀和建立差分约束,但

「模板」圆方树

对每个点双新建一个方点,并把点双内的点向它连边。 CF1045C Hyperspace Highways #include <bits/stdc++.h> #define ll long long #define db double #define gc getchar #define pc putchar #define pb push_back using namespace std; namespace IO { template <typename

CF908D New Year and Arbitrary Arrangement 题解

\(0.\) 前言 有一天 \(Au\) 爷讲期望都见到了此题,通过写题解来加深理解。 \(1.\) 题意 将初始为空的序列的末尾给定概率添加 \(a\) 或 \(b\),当至少有 \(k\) 对 \(ab\) 时停止(注意是“对”,中间可以间隔字符),求 \(ab\) 期望对数。 \(2.\) 思路 通过查看标签 通过阅读题面我们容易发现

Go微服务框架go-kratos实战02:proto 代码生成和编码实现步骤

在上一篇 kratos quickstart 文章中,我们直接用 kratos new 命令生成了一个项目。 这一篇来看看 kratos API 的定义和使用。 一、kratos 中 API 简介 1.1 简介 API 全称是 Application Programming Interface,应用程序接口。 在 kratos 中,API 指的是 REST API 和 RPC API ,REST API

【力扣 087】21. 合并两个有序链表

21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。    示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2: 输入:l1 = [], l2 = []输出:[]示例 3: 输入:l1 = [], l2 = [0]输出:[0]  提示: 两个链表

golang GRPC 携带上下文信息

使用context.Context 上下文去全局数据 metadata type MD map[string][]string //第一种方式 md := metadata.New(map[string]string{"key1": "val1", "key2": "val2"}) //第二种方式 key不区分大小写,会被统一转成小写 md := metadata.Pairs( "key1",

【题解】CF650E-Clockwork Bomb

给定两棵树 \(A,B\),每次先删除 \(A\) 一条边,再加入 \(A\) 一条边,过程中不能成环,现在构造一个方案用最少次操作将 \(A\) 变成 \(B\)。 显然两棵树中都存在的边可以不用删,我们将这些边留下,将每个连通块缩成一个点。 那么我们得到两颗大小相同的新树,且不存在一条边在两棵树内都出现

C语言格式化读写文件

fscanf() 和 fprintf() 函数与前面使用的 scanf() 和 printf() 功能相似,都是格式化读写函数,两者的区别在于 fscanf() 和 fprintf() 的读写对象不是键盘和显示器,而是磁盘文件。 这两个函数的原型为: int fscanf ( FILE *fp, char * format, ... ); int fprintf ( FILE *fp, char *

服务端流式RPC

服务端流式RPC 一、前言 当数据量大或者需要不断传输数据时候,我们应该使用流式RPC,它允许我们边处理边传输数据。本篇先介绍服务端流式RPC。 服务端流式RPC:客户端发送请求到服务器,拿到一个流去读取返回的消息序列。 客户端读取返回的流,直到里面没有任何消息。 情景模拟:实时获取股票

java使用cxf写的webservices,PB进行调用

package com.study.webservice;import com.oracle.xmlns.internal.webservices.jaxws_databinding.XmlWebMethod;import org.apache.cxf.Bus;import org.apache.cxf.BusFactory;import org.apache.cxf.frontend.ServerFactoryBean;import org.apache.cxf.transport.servlet.CX