- 博客(38)
- 收藏
- 关注
原创 Leetcode-字典树
720.Longest Word in Dictionary字典树的模板题用链表 64 ms 32.1 MBclass Solution {public: struct Node{ bool is; Node* vec[26]; Node(){ is=false; for(int i=0...
2019-08-21 17:55:23
348
原创 Leetcode-二分查找
69.Sqrt(x)套模板class Solution {public: long long mySqrt(long long x) { long long l=0,r=x; while(l<r){ long long m=(l+r+1)>>1; if(m<=x/m) l=m; ...
2019-08-19 23:18:02
194
原创 102263 - ArabellaCPC 2019(部分)解题报告
linkA - Is It Easy ?easy#include<bits/stdc++.h>using namespace std;typedef long long ll;const int INF=0x3f3f3f3f;const int N=1e5+5;ll n,k; int main(){ cin>>n>>k; co...
2019-08-17 13:52:56
1445
2
原创 Python入门(一)
Python是解释型语言,运行速度较慢,优点在于简洁。Python源码不能加密,也就是发布Python应用程序就相当于发布了它的源码,但是可以通过卖服务的形式发布字符串str='你好'print(str)print(str[0:1])输出你好你字典d={ "name":"Alan", "age":12, 1:"level_1"}print(d.k...
2019-08-09 09:51:42
100
原创 LeetCode 127. Word Ladder
LeetCode 127. Word Ladder要点:转化为unordered_set来做,因为它比map、vector的搜索更快,unordered_set的底层是基于哈希的,所以对于频繁的搜索,插入,删除是很有利的。构图不需要从BFS之前就进行,因为不是每一个点都需要构图,而且每个点只访问一次,所以没必要全图保存,有利于降低时间复杂度。假如是需要频繁访问已访问点,还是全图构造保存比较...
2019-08-02 18:34:29
142
原创 A Digital Satire of Digital Age
A Digital Satire of Digital Age完全被自己蠢到气哭明确对于每一组输入,要记录的有天枰底部,作为天枰位置的标记,还有天枰上的字符串(有可能是空)天枰的位置有三种情况,各建三个字符数组表示它们,并且注意赋值完之后要重置。好了,也不知道还能说什么了,直接上代码吧#include <bits/stdc++.h>using namespace std;...
2019-07-28 13:25:35
140
原创 UVALive-4855 Hyper Box
思路:是斐波那契数的不用管,不是斐波那契数的,需要把它拆开成多个斐波那契数,找到输入数字的小于它的最大的斐波那契数,减去它,再找减去后的数字的小于它的最大的斐波那契数,减去它,不断循环,直到减去的数字本身是个斐波那契数为止。因为下面的证明要多次用到“小于那个非斐波那契数的最大的斐波那契数”,姑且先记为A。从A开始减的道理是,一个非斐波那契数,最少需要两个斐波那契数相加才能组成。假如一个非斐波...
2019-07-27 22:19:57
128
原创 Codeforces 1187E Tree Painting
Codeforces 1187E Tree Painting思路是换根,对于一棵树,从它的树根开始上色,那么它的下一个上色点只能是它的孩子节点,对于先上哪个孩子节点是不影响的,因为各孩子都已经不连通,所以,对于一棵定根树,从它的树根开始上色,它的答案只有一种。枚举每个节点换成树根的情况,找到能获得的点数的最大值,就是答案。在某种状态下,把树根(记作A)换到它的一个孩子节点(记作B)时,因为是从...
2019-07-24 20:02:23
139
原创 Codeforces Educational Codeforces Round 67 (Rated for Div. 2) D. Subarray Sorting
codeforces Educational Codeforces Round 67 (Rated for Div. 2) D. Subarray Sorting考虑目标数组b[i]是如何组成的,在a[ai]a[ai]a[ai]处找到第一个等于b[i]b[i]b[i]的,然后再在[0,ai][0,ai][0,ai]中找到最小值,若最小值还要小于b[i]b[i]b[i]则不可能使b[i]b[i]...
2019-07-19 10:10:04
202
原创 GoLang入门D5
今天简单做一些练习建立一个程序统计字符串里的字符数量:asSASA ddd dsjkdsjs dk同时输出这个字符串的字节数。提示: 看看unicode/utf8 包。PS C:\Windows\system32> go doc unicode/utf8package utf8 // import "unicode/utf8"Package utf8 implements ...
2019-07-18 08:21:09
125
原创 GoLang入门D4
今天学一些内建函数的应用有一些函数是预定义的,不需要引用任何包就可以调用,这就是内建函数arraypackage mainimport ( "fmt")func main() { var a [3]int b := [3]int{1, 8, 9} for i := 0; i < len(a); i++ { fmt.Print(b[i]) } fmt.Print...
2019-07-17 10:36:44
121
原创 大数
C++: 32-bit int的最大值可以表示为0x7FFFFFFF,也可以用INT_MAX代替,但是一旦进行一些加减乘除容易溢出。如果改用0x3f3f3f3f,不会那么容易溢出,并且它的数量级已经达到了10^9,足以表示无穷大。#include <bits/stdc++.h>using namespace std;int m1...
2019-07-16 14:43:53
91
原创 Codeforces Round #572 (Div. 1) A2. Add on a Tree: Revolution
A2. Add on a Tree: Revolution能不能达到目标结构的条件就是上个subtask讨论过的,只要没有度为2的点就可以接下来讨论每条边如何变成需要的值,对于一条路,假如两个端点它们都是非叶子节点,记作A,B,取A的不同子树(不包含B)上的两个叶子a1,a2,B的两个不同子树(不包含A)上的两个叶子b1,b2,那么若AB间的路要达到某个值val,a1到b1加val/2,a2...
2019-07-16 14:41:51
179
原创 GoLang入门D3
今天学习一些运算符和学习一些关键字的使用运算符& | ^ &^这四个位运算符分别是按位与,按位或,按位异或,位清除其中位清除是GoLang特有的a&^b使得a发生变化,a与b相同的位清零,a与b不同的位保留a&^b相当于a&^=b,相当于a&=~bGo不支持运算符、方法重载,但是某些内建运算符支持重载,比如+可以连接in...
2019-07-16 10:58:13
245
原创 GoLang入门D2
今天学的是变量类型、声明、赋值等值的类型int/uint类型长度取决于本机架构,要么32要么64当然可以直接声明int8 int16 int32 int64,uint8 uint16 uint32 uint64,bytebyte是uint8的别称,本质是一样的没有float类型,没有double类型,只有float64和float32无论是什么架构,int32长度就是32不会变,in...
2019-07-15 11:27:49
193
原创 Codeforces Round #572 (Div. 2) D1. Add on a Tree
D1. Add on a Tree若要每种情况都能满足,也就是说,每条边的变化都要独立。假如有一种情况,无论选哪两个叶子节点,总有两条边它们是一起变化的,换句话说,永远相等,那这就不能满足条件。假如每条边的变化都独立的话,那么每条边总能通过适当的变化达到某个目标值。今天有听同学说到任意两边都需要有净增值,还用到了线性代数来解释,本质是一样的,只是这个说法蛮有意思的。所以,先分析一下,总有两条边...
2019-07-14 21:50:54
155
原创 GoLang入门D1
Go语言特点编译型语言,有着静态语言的高效性语法简单,有着动态语言的易开发性,强制防止导入不使用的包并发性,可以指定CPU使用核数2009年发布正式版本原生支持UTF-8应用油管的后台七牛云开发环境go安装包配置GOPATHSublime Text 3 + gosublime调试命令行输入go env查看基本配置命令行输入go查看go命令命令行godo...
2019-07-13 09:26:56
201
原创 洛谷 P1886 滑动窗口
洛谷 P1886 滑动窗口单调队列:单调递增队列:使得每个入队元素都小于已有元素保持递增:遇到队尾元素小于未入队元素时,弹出队尾再使未入队元素入队数据结构:deque,因为滑动窗口需要判断队列元素是否过时,而deque可以通过pop_front()弹出队首元素每次滑动都记录队首元素即可。#include <bits/stdc++.h>using namespace std...
2019-07-08 22:35:17
116
原创 随便学(一)
二分搜索要求是排好序的数组中查找注意当hi,lo较大的时候,因为hi+lo有可能溢出,所以不用(hi+lo)/2递归int rank1(int key,int a[],int lo,int hi){ if(lo>hi) return -1; int mid=lo+(hi-lo)/2; if(a[mid]<key) re...
2019-05-29 21:32:10
322
原创 全排列
思想:递归经典全排列:#include <iostream>#include <cstdio>int a[50];void sw(int x,int y){ int temp=a[x]; a[x]=a[y]; a[y]=temp;}void p(int n){ for(int i=0;i<n;i++){ ...
2019-05-15 22:14:08
74
原创 P与NP
P与NPpolynomial一个问题能在多项式时间内解决,则称为P问题,比如O(1),O(n),O(nlogn),O(n^3),都是多项式时间nondeterministic polynomial一个解能在多项式时间内确定是否是问题的解,则称为NP问题NP complete问题:是NP问题且不是P问题3-SAT问题:一组boolean值,x1,x2,x3,x4…xn组成CNF算式,...
2019-05-15 20:36:42
135
原创 字符串处理 模板
KMP:字符串模式匹配#include<iostream>#include<cstring>#define MAXN 1000010using namespace std;int next[MAXN];int la,lb,j; char a[MAXN],b[MAXN];int main(){ cin>>a+1; cin>&...
2019-05-09 12:38:22
124
原创 哈希表笔记
哈希表:Hash,一般翻译做“散列”。哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映射到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置。负载因子:填入表中的元素个数 / 散列表的长度哈希冲突(哈希碰撞):不同的Key映射到相同的哈希地址冲突处理:开发定址法遇到冲突顺着原来的哈希地址逐个向下查找直到找到空闲地址,然后插入拉链法类似于邻...
2019-05-02 23:14:06
276
原创 素数整理
费马小定理:任意素数p,任意非零整数aapmodp≡amodpa^pmod p≡amodpapmodp≡amodp二次探测定理:奇素数p(即除2外的素数)xmodp2=1xmodp^2=1xmodp2=1的解只有x=1x=1x=1和x=p−1x=p-1x=p−1素数定理:随着x的增长,π(x)/(x/ln(x))=1π(x)/(x/ln(x))=1π(x)/(x/ln(x))=1,...
2019-04-29 09:19:33
108
原创 5月比赛 - 备赛List
蓝桥杯判题形式:NOIP 判题不可携带资料分组排名知识点hash表大数(高精度)加减乘除线段树并查集图论相关:最短路(Floyd、Dijstra、BellmanFord)最小生成树(Prim、Kruscal)动态规划的各个典型:LCS、最长递增字串、三角剖分、记忆化dp博弈:博弈树、二进制法双向广搜、A*算法、最小耗散优先几何:线段交点、多角形面积公式...
2019-04-28 20:57:19
73
原创 2019 ICPC 南昌邀请赛 - Coloring Game
Coloring Game 思路:每列格子至少选一个,选法三种,第一列与最后一列选法各只有两种,所以结果只需输出32∗4∗43^2*4*432∗4∗4。卡了很久的原因是普通的幂运算会超时,这里学习到了快速幂的使用。假如用一般的幂运算,复杂度是O(n),假如用了快速幂,复杂度会变成O(logn)。#include <bits/stdc++.h&...
2019-04-21 21:37:53
375
原创 2019 ICPC 南昌邀请赛 - PERFECT NUMBER PROBLEM
PERFECT NUMBER PROBLEMWrite a program to output the first 55 perfect numbers. A perfect number is defined to be a positive integer where the sum of its positive integer divisors excluding the number ...
2019-04-21 16:32:38
318
原创 ZOJ - 2730 Necklace
两两颜色组成的珠子的组合共有N∗(N−1)/2N*(N-1)/2N∗(N−1)/2个,他们全部组合串联需要的珠子也是那么多个。并且第一个珠子是谁都无所谓,所以就直接定第一个珠子为0。再用一张二维表记录访问过的组合即可。#include <bits/stdc++.h>using namespace std;bool link[50][...
2019-04-21 16:17:05
178
原创 CSharp窗体间数据传递
窗体是Form类对象,Control类的子类实验步骤通过父窗体打开子窗体父窗体向子窗体传值:static变量 、重写构造函数子窗体向父窗体传值:委托、Owner属性static变量传值子窗:namespace psssv{ public partial class Child : Form { public Child() ...
2019-04-21 15:51:04
3561
原创 ZOJ 3776 - Pokemon Master
Source:The 11th Zhejiang Provincial Collegiate Programming Contest水题,低调飘过#include <bits/stdc++.h>using namespace std;int main(){ int T; scanf("%d",&T); while(T--){ ...
2019-04-17 22:00:26
161
原创 Java基础笔记(一)
标识符、关键字Java时一种强类型语言,即Java中存储的数据都是由类型的,且必须在编译时就确定其类型。标识符:比如类名、变量名、包名,是可以由字母、数字、下划线、美元符号组成的,但是还是不能以数字开头。常量:final关键字,常量名一般用大写。数据类型基本数据类型:保存数据本身(直接放东西)引用数据类型:保存数据空间地址(放钥匙)数值类型、字符类型、布尔类型类...
2019-04-16 23:35:09
67
原创 HDU 5573 - Binary Tree
Source2015ACM/ICPC亚洲区上海站-重现赛(感谢华东理工)第一种方法:暴搜 从根走到叶子的方法有很多种,但是由叶子走到根的路就只有一种,所以这里从每个叶子结点回溯。每次遇到一个点,只需要判断若n大于零减,若n小于零加,因为对于某一个点u,它的父结点只会是u/2,u/2/2…全部加起来都小于u,所以若大于零必须只能是减。#inclu...
2019-04-16 09:28:53
94
原创 近日算法零碎知识笔记(一)
Proceed to the end of file. 在Input要求中看到这句话,就代表样例数据要一直输入到没有输入了为止,常见方法是(假设每组数据要输入n与m): while(cin>>n>>m){ } while(scanf("%d %d",&n,&m) == 2){ } while (~...
2019-04-15 08:15:19
98
原创 C#学习笔记
VS使用:visual studio msdn:F1创建C#项目:控制台应用程序调试并运行:F5,需要ReadKey直接运行:Ctrl+F5,不需要ReadKey.cs:C#程序源文件基本知识各种using:调用微软提供的命名空间,命名空间中包含了很多个类Main方法是程序的入口C#程序是由类组成的,而不是命名空间蓝色的,比如using,namespace,static,...
2019-04-14 23:29:43
159
原创 2019华南理工大学程序设计竞赛(春季赛)I - 炒股
Sourcenowcoder contest625 I这道题本身也许没什么好分析的,下面是我的代码#include <iostream>#include <cstdio>using namespace std;int main(){ int N; long long arr[600]; scanf("%d",&N); for (int i = ...
2019-04-14 22:25:38
141
原创 关于近日比赛/训练心得
团队交流慢慢上来了,没有以前那么各干各的了学一下用文件输入输出数据,数据量大的时候手打很麻烦有思路先写伪代码,不要马上就敲敲敲函数出口,各种情况的细节要想清楚再下手极端、边界用例,特殊用例要考虑方便的话,可以先拿测试用例试一下自己写的思路流程初步确认思路敲代码的时候不要太随意,变量名什么的都要讲究一下,让队友易读偶尔看一下榜单,不然有看起来很简单其实很难的题纠结很久就没意义读完题...
2019-04-14 17:42:57
111
原创 POJ 3126 - Prime Path
SourceNorthwestern Europe 2006 这道题用的是bfs,求最短路径,因为不是二维表,一开始还想不懂用bfs怎么求,后来想想那就把出发点想成球心,下一个点想成球面,每向下一个点,球面就扩大,选择出能到达终点的路径中最小的球面就相当于求最短路径了。作出的优化:预先生成一张素数表因为是素数,所以最后一位一定为奇数#i...
2019-04-14 17:42:29
115
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人