自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 收藏
  • 关注

原创 Go语言的并发

Go语言的并发原子操作可以利用sync包中的Mutex对于资源进行加锁,从而保证资源的原子性。但其实Go官方并不推荐这种方法,更提倡用通信的方法来进行内存的共享。不要以共享内存的方式来通信,作为替代,我们应该以通信的手段来共享内存基于信道的通信​ channel是在Goroutine之间进行同步的主要方法,读写通过“->”完成​ 通过make函数进行声明可能出现错误的操作关闭一个未初始化(nil) 的 channel 会产生 panic重复关闭同一个 channel 会产

2020-05-25 16:07:11 315

原创 对于切片的一些理解

文章目录切片基本的结构常见的初始化操作对于切片的操作添加扩容删除使用技巧可能的内存泄漏切片基本的结构type struct { Data uintptr Len int Cap int}一个切片是由数据指针加上长度和容量组成的,类似与C++中的vector。常见的初始化操作var ( a []int // 等价于nil b = []int{} // 表示一个空的切片,不等于nil c = []int{1,2,3} // len,

2020-05-22 17:05:11 507

原创 关于在Go中稳定排序的方法

偶然需要用到的时候百度了很久没有找到,最后还是谷歌到了···贴上链接https://www.geeksforgeeks.org/how-to-sort-a-slice-stable-in-golang/代码type Word struct { str string len int}type Words []Wordfunc main() { var words Words sort.SliceStable(words, func(p, q int) bool { return w

2020-05-17 11:32:50 1419 1

原创 关于Protobuf的理解

文章目录关于Protobuf的理解什么是ProtobufProto的使用proto文件编写的基本规则编码结构VarintsZigzagMessage structureRepeatedMap关于Protobuf的理解什么是Protobuf官方文档的描述:protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Pro...

2019-12-09 22:07:00 212

原创 2019牛客国庆集训派对day7题解

还没补完,慢慢补,能写多少是多少···2016题目描述给出正整数 n 和 m,统计满足以下条件的正整数对 (a, b) 的数量:1 ≤\leq≤ a ≤\leq≤ n, 1 ≤\leq≤ b ≤\leq≤ ma ×\times× b 是 2016 的倍数。思路(a×\times× b)% mod = (a%mod ×\times×b%mod)%mod所以如果找到一个a%mo...

2019-10-09 21:17:57 382

原创 【编译原理】FIRST集和FOLLOW集

文章目录龙书上的定义:FIRSTFOLLOW自己的理解FIRSTFOLLOW例子推导FIRST推导FOLLOW龙书上的定义:FIRST如果x是一个终结符,则FIRST(X) = X如果x是一个非终结符,则X→Y1Y2Y3⋯YkX\rightarrow Y_1Y_2Y_3\cdots Y_kX→Y1​Y2​Y3​⋯Yk​,其中k≥1k\ge1k≥1。∃i∈k,a∈FIRST(Yi)且FIR...

2019-04-15 16:19:16 3630

原创 码分复用CDMA的原理

码分复用CDMA的原理感性理解:​ 可以感性的理解为:我只接受我所期望的信号类型,并且能够通过一定的方式将多个信号源分离出来。工作原理:​ 每一个比特时间再被细分为m个更短的时间间隔。每个时间间隔被称为码片,m个码片组成一个码片序列。如:m=8,(-1 -1 -1 +1 +1 -1 +1 +1)。​ 每一个站点有一个自己的专属码片序列,如果想发送1就直接发送码片序列,发送0就发送码片序列...

2019-04-10 16:12:59 10013 7

原创 组合数求模模板

对于两个较小数的组合数求模的方法可以利用递推公式+记忆化搜索得到需要用到时提前预处理一下,然后直接从数组里取值就可以了int C(int n,int k){ if(k>n) return 0; return num[n][k];}void Cal(int n){ for(int i=0;i<=n;++i){ num[i][0]=1;

2017-08-15 18:15:21 429

原创 HDU 5961&AOJ 821 传递

题面:Problem Description我们称一个有向图G是传递的,当且仅当对任意三个不同的顶点a,,若G中有 一条边从a到b且有一条边从b到c ,则G中同样有一条边从a到c。 我们称图G是一个竞赛图,当且仅当它是一个有向图且它的基图是完全图。换句 话说,将完全图每条边定向将得到一个竞赛图。 下图展示的是一个有4个顶点的竞赛图。 现在,给你两个有向图P = (V,Ep)和Q = (V,

2017-08-15 18:12:25 394

原创 2017百度之星初赛(A)1001,1005,1006解题报告

1001 小C的倍数问题纯签到题,求p-1的因数个数,暴力枚举即可#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(false); int t,p,cnt,n,num; cin>>t; while(t--) { cnt=0;

2017-08-14 20:51:33 865

原创 tarjan算法求连通分量+缩点后重新建图

#include<bits/stdc++.h>using namespace std;const int maxn=2e4+7;vector<int> g[maxn];vector<int> newp[maxn];int dfn[maxn],low[maxn],sccno[maxn];int idx=0;bool visit[maxn];stack<int> s;void tarj

2017-08-14 20:41:39 1776

原创 [HihoCoder-1185] 连通性·三 【tarjan+缩点】

题面:描述暑假到了!!小Hi和小Ho为了体验生活,来到了住在大草原的约翰家。今天一大早,约翰因为有事要出去,就拜托小Hi和小Ho忙帮放牧。约翰家一共有N个草场,每个草场有容量为W[i]的牧草,N个草场之间有M条单向的路径。小Hi和小Ho需要将牛羊群赶到草场上,当他们吃完一个草场牧草后,继续前往其他草场。当没有可以到达的草场或是能够到达的草场都已经被吃光了之后,小hi和小Ho就把牛羊群赶回家。一开始小

2017-08-14 20:36:00 428

原创 CodeFroce Round 340 div2 E XOR and Favorite Number【莫队算法】

题面:Bob has a favorite number k and ai of length n. Now he asks you to answer m queries. Each query is given by a pair li and ri and asks you to count the number of pairs of integers i and j, such that

2017-08-09 12:28:41 411

原创 2017 百度之星资格赛1002 度度熊的王国战略【图+贪心】

题面:度度熊国王率领着喵哈哈族的勇士,准备进攻哗啦啦族。哗啦啦族是一个强悍的民族,里面有充满智慧的谋士,拥有无穷力量的战士。所以这一场战争,将会十分艰难。为了更好的进攻哗啦啦族,度度熊决定首先应该从内部瓦解哗啦啦族。第一步就是应该使得哗啦啦族内部不能同心齐力,需要内部有间隙。哗啦啦族一共有n个将领,他们一共有m个强关系,摧毁每一个强关系都需要一定的代价。现在度度熊命令你需要摧毁一些强关系,使得内部的

2017-08-07 19:01:58 849 1

原创 HDU 4825 Xor Sum 【01字典树】

题面:Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeus 发起M次询问,每次询问中包含一个正整数 S ,之后 Zeus 需要在集合当中找出一个正整数 K ,使得 K 与 S 的异或结果最大。Prometheus 为了让 Zeus 看到人类的伟大,随

2017-08-07 12:01:08 363

原创 CodeForce 837 A/B/C解题报告

A Text Volume题面:You are given a text of single-space separated words, consisting of small and capital Latin letters. Volume of the word is number of capital letters in the word. Volume of the text is

2017-08-04 21:25:20 1015

原创 HDU 2094 产生冠军

题面:有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。 球赛的规则如下: 如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。 如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能成为冠军。 根据这个规则,无需循环较量,或许就能确定冠军。你的任务就是面对一群比赛选手,在经过了若干场撕杀之后,确定是否已经实际上

2017-08-04 20:53:26 313

原创 hihoCoder 1078 区间查询线段树

题面:对于小Ho表现出的对线段树的理解,小Hi表示挺满意的,但是满意就够了么?于是小Hi将问题改了改,又出给了小Ho:假设货架上从左到右摆放了N种商品,并且依次标号为1到N,其中标号为i的商品的价格为Pi。小Hi的每次操作分为两种可能,第一种是修改价格——小Hi给出一段区间[L, R]和一个新的价格NewP,所有标号在这段区间中的商品的价格都变成NewP。第二种操作是询问——小Hi给出一段区间[L,

2017-08-04 20:47:55 364

原创 线段树区间修改+区间查询

大致思路:线段树的区间修改要比点修改难想一点。主要是多了一个延迟标记,目的是为了降低复杂度。但在询问的时候还需要把延迟标记逐个下放,还要更新原来的点,这就导致很难想了。 主要记住顺序:要求区间修改 递归查找区间发现现在区间完全属于需修改的区间,更新当前节点的信息,增加延迟标记。递归结束若不完全属于则继续递归询问区间 发现当前区间完全属于被查询区间,直接返回当前节点值或者发现当前区间不

2017-08-04 20:45:33 5429 2

原创 HDU1754 I HATE IT【线段树】

题面:Problem Description 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input 本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0大致思路:依然是一

2017-08-03 16:34:59 299

原创 HDU1166 疑兵布阵 【线段树】

题面:C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央情报局要研究敌人究竟演习什么战

2017-08-03 15:43:17 386

原创 UVA540 TeamQueue【map+queue】

题面:Queues and Priority Queues are data structures which are known to most computer scientists. The Team Queue, however, is not so well known, though it occurs often in everyday life. At lunch time the

2017-08-02 22:02:37 354

原创 AOJ894 种花【图的搜索+回溯】

题面:花老师有一个农场,农场的花一共有 4 种颜色, 花老师不喜欢老旧的东西,所以,她希望每天种花的方案都不一样。特别地,她也觉得两种一样颜色的花种在相邻的位置会很无聊。现在,她想知道,一共有多少种花的方案。这里要注意的是,农场的种花的位置是不规则的。因此我们给出一对一对的相邻的位置的关系。Input 第一行两个数 N 和 M,表示种花的位置的个数和相邻的位置的对数 接下来 M 行,每行一组数

2017-08-02 21:07:36 408

原创 AOJ890 修理牛棚 【贪心】

题面:Description 在一个夜黑风高,下着暴风雨的夜晚,农民约翰的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚没有住满。 剩下的牛一个紧挨着另一个被排成一行来过夜。 有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 自门遗失以后,农民约翰必须尽快在牛棚之前竖立起新的木板。 他的新木材供应商将会供应他任何他想要的长度,但是供应商只能提供有限数目的木板。 农民约翰想将他购买的木板

2017-08-02 20:58:55 775

原创 AOJ895 艰难取舍【DP】

题目:Description 由于 lls 长得实在是太帅了,英俊潇洒,风流倜傥,人见人爱,花见花开,车见车载。有一群 MM 排队看 lls。每个 MM 都有自己独特的风格,由于 lls 有着一颗包容的心,所以,什么风格的 MM 他都喜欢……但是,lls 有一个特别的要求,他不希望总是看到风格得差不多的 MM,更加特别的是,如果两个 MM 风格完全一样, lls 不会有任何意见。现在, lls 希

2017-08-02 20:52:30 680

原创 UVA 136 & POJ1338 Ugly Numbers

题目链接:POJ UVA题目大意:Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, … shows the first 10 ugly numbers. By convention, 1 is included.

2017-08-01 22:37:30 371

原创 6.29 CodeForce 818 A/B解题报告

A.Diplomas and Certificates题面:There are n students who have taken part in an olympiad. Now it’s time to award the students.Some of them will receive diplomas, some wiil get certificates, and others won

2017-06-30 11:12:18 714

原创 POJ-2387 Til the Cows Come Home【最短路】

题面:Bessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she wants to get

2017-06-29 21:20:55 371

原创 Prim算法和Kruskal算法的基本思想和实现

这两个都是求最小生成树的算法,个人更喜欢Kruskal算法。Prim算法基本思想有两个集合,A是空集,B集合里有现在图中的所有边。 将B中任意一点加入A集合,在这个点的所用通路中选择一个权值最小的边且这个边到的点不在B集合之中。然后将这个点加入A集合,再进行上述步骤,直到将B集合变成空集。代码实现#include<bits/stdc++.h>using namespace std;const

2017-06-28 22:14:48 6807 1

原创 Dijkstra算法的实现及原理

算法用处与基本思想Dijkstra算法的作用是求指定点到图中任何一点的最短路径。 其基本思路与BFS(深度优先搜索)有些类似,但不同的是BFS用的是一般队列,也就是严格的先进先出。而Dijkstra算法用到的则是优先队列。什么是优先队列优先队列中是有序的队列,其顺序取决于规定的规则。比如可以规定值大的在前面,也可以规定值小的在前面。一般来说直接用STL里面的priority_queue来实现,这个

2017-06-28 21:46:53 5213 1

原创 2048的C语言实现

前言高中时班上有一位dalao用了大概一周的时间搞出来了控制台版的2048。然后今天上实验课的时候突发想到,我既然现在已经是这个专业的了,然后自认为自己的代码量还算看得过去,这个控制台版的应该不会太难,于是就开始敲。 一天的时间,敲出来了V1.0的版本,有一些和原版不太一样的地方,但我确实不知道怎么去改,先挂在这里。后面想到了再更把。大致思路其实2048的变化过程玩过游戏的应该都是知道的,在这里就

2017-06-26 21:28:29 10733 3

原创 哈夫曼编/译码系统的设计与实现

问题描述利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(解码)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站设计一个哈夫曼编译码系统。基本要求初始化(Initialzation)。从数据文件DataFile.data中读入字符及每个

2017-06-22 16:44:10 11454 3

原创 一般迷宫问题的求解

1.问题描述:以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。2.基本要求(1)首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出。其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。如,对于教材第50页图3.4所示的迷宫,输出

2017-06-20 21:34:29 5635 5

原创 在邻接矩阵中的DFS与BFS的实现

大致思路:对于已经找到的 x,y 在矩阵中进行行遍历和列遍历。遇到存在的边则进行BFS或DFS代码:p.s 代码中均是以无向图为例BFS#include<bits/stdc++.h>using namespace std;const int maxn=110;typedef struct{ int x,y;}Node;int mp[maxn][maxn];queue<Node>

2017-06-02 19:44:55 796

原创 POJ 1611 The Suspects 【并查集】

题面:evere acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy is to

2017-05-31 22:51:11 416

原创 HDU 1232 畅通道路 【并查集】

题面:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一

2017-05-31 21:53:57 498

原创 并查集的基本思想和实现

大致思想:判定两支队伍是否属于同一个集合,方法就是看他们的最高领袖是否是同一个人。 同样的,判断两个元素是否属于同一个集合,就看他们的最高父节点是否是同一个。 然后是集合的合并,合并其实就非常简单,让其中任何一个集合的最高父节点变成另外一个集合的最高父节点的子节点,合并就完成了。 然后为了使生成的树的高度尽量低,引入了rank数组记录树的高度实现过程1.父节点的判定规定,一个点的父节点如果是其

2017-05-31 21:30:52 1077

原创 5.27计蒜客网络初赛A题 腾讯课堂的物理实验

其实这是一道很简单的题,但没有想到trick,导致写的很复杂,其实有很简单的做法题面:在腾讯课堂的物理课上,进行了一个有趣的物理实验。在一个长度为 LL 米的光滑轨道上,小车 A 在 0 时刻以 1m/s 的速度从左端出发向右运动,小车 B 在 t 时刻以 1m/s 的速度从右端出发向左运动,两个小车的质量相等。假设所有碰撞都是弹性碰撞,也就是当两个小车相向碰撞时,他们各自会以原来的速度向相反的方向

2017-05-27 22:05:01 641

原创 上海金马五校程序竞赛网上资格赛 C Frog 【前缀和+DP】

本来这个题很简单,但因为做这种取膜的题太少,犯了很傻比的错误。在这里mark一下题面:Description There is a little frog called Matt. One day he comes to a river. The river could be considered as an axis. Matt is standing on the left bank now

2017-05-26 22:48:34 404

原创 2017 安徽省赛 F A?H? 【DFS】

题目描述:目前图像识别是一项非常热门的技术,最流行的莫不过是深度学习的图像识别,识别率甚至能达到99%以上。当然,对于简单的图像识别来说,深度学习是没有必要的。比如要识别安徽拼音的首字母A和H,就可以不用深度学习就可以进行判断。现在有一些只含A或者H的图像,你知道该如何识别吗?输入描述: 第一行输入整数T,表示数据的组数。 每组数组中,第一行n,m,表示图像的大小。 接

2017-05-23 16:59:02 937

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除