- 博客(43)
- 收藏
- 关注
原创 21春招实习总结
混着混着就到五月底了,实习的春招也基本告一段落了,为了方便自己之后面试或者帮其他同学踩踩坑,简单复盘一下春招的过程。投递的情况公司(部门)结果腾讯(光子技术中心)接offer阿里(淘系技术部)接offer字节(安全与风控)简历挂字节(用户增长)面试前hr沟通挂招行卡中心接offer华为(消费者BG)过主管面网易(互娱广州)接OC腾讯这个没什么好说的,因为是之前寒假实习的组,leader直接放行了,岗位比较特殊,想不出什么比较好
2021-05-20 18:40:49
771
2
原创 hdu1814 Peaceful Commission 2-SAT建图入门
题面The Public Peace Commission should be legislated in Parliament of The Democratic Republic of Byteland according to The Very Important Law. Unfortunately one of the obstacles is the fact that some d...
2019-04-12 22:25:15
223
原创 hdu3062 Party tarjan + 2-SAT
题面 有n对夫妻被邀请参加一个聚会,因为场地的问题,每对夫妻中只有1人可以列席。在2n 个人中,某些人之间有着很大的矛盾(当然夫妻之间是没有矛盾的),有矛盾的2个人是不会同时出现在聚会上的。有没有可能会有n 个人同时列席?题解 发发两者不能同时出现,符合2-SAT模型,因为m的数据过大,所以常规的dfs算法的O(n(n+m))的复杂度不能承受。 又其提问为是否存在最大解,故将原问题建...
2019-04-12 22:18:39
207
原创 ACM-ICPC 2018徐州 I题 Rikka with Sorting Networks(搜索)
I. Rikka with Sorting Networkstime limit per test4.0 smemory limit per test1024 MBinputstandard inputoutputstandard outputRikka knows that Bubble sort is a simple but beautiful algor...
2019-03-12 20:52:02
880
原创 bzoj 1901 动态区间第k大 (树套树)
刚写完线段树套splay的,回头补上树状数组套主席树的;线段树套splay的思路:每个线段树节点上有一棵splay里面存对应区间内的所有数字;修改时直接在每个splay上进行删除节点后再添加;查询时二分值判断是第多少大的,向大逼近;代码还是一贯的长。。。#include#include#include#include#includeusin
2017-02-07 00:06:19
567
原创 bzoj3172 ac自动机fail树应用
记录每一个点建自动机时候的访问次数。 建Fail树,然后节点子树的大小即为当前点出现的次数。#include#include#include#include#includeusing namespace std;const int maxl = 55;const int maxn = 1e6+5;int ch[maxn][30], flag[maxn];int sz,
2017-01-23 23:26:36
422
原创 hdu 2222 ac自动机模板
#include#include#include#include#includeusing namespace std;const int maxl = 55;const int maxn = 1e6+5;int ch[maxn][30], flag[maxn];int sz, root, ans = 0;int n, fail[maxn];inline int idx
2017-01-23 20:22:21
411
原创 splay 模板
#include#include#include#includeusing namespace std;const int maxn = 1000010;int sz, root;int ch[maxn][2], cnt[maxn], size[maxn], p[maxn], key[maxn];inline void clear(int x) { ch[x][0] = c
2017-01-21 20:54:36
309
原创 树剖模板
#include#include#include#include#include#define Inf 0x3f3f3f3fusing namespace std;const int maxn = 10010;const int maxm = 50010;const int p = 1e9+7;struct Edge { int u,
2017-01-18 22:04:38
294
原创 noip2009 靶形数独 (代码还算不丑)
核心是用位运算简化操作,并根据每行的“0”的数量确定枚举的顺序详见代码及代码注释#include#include#include#include#includeusing namespace std; int target[10][10]={ {6,6,6,6,6,6,6,6,6}, {6,7,7,7,7,7,7,7,6}, {6,7,8,8,8,8,8,7,6},
2016-11-10 11:52:42
402
原创 p1613 跑路(倍增)
小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一千……
2016-10-15 16:18:51
543
原创 最长上升子序列n log n
发现只要不是写在博客上的算法都容易忘==意义可以望文生义==做法正常我们找一个a[j]小于等于a[i]的最长的d[a[j]] ( d为dp数组 )需要遍历整个数组,整体复杂度为n^2 现在我们需要做得就是在尽量快的时间内找到这个a[j]; 于是我们新定义d[i]的意义为长度为i的上升序列的最小结尾是多少,每次加入一个数的时候,二分查找大于等于a[i]的最小的d[j]的值;然后把d[j]改为a[i]
2016-10-15 15:09:58
330
原创 noip2011 观光公交
风景迷人的小城Y 市,拥有n 个美丽的景点。由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第 0 分钟出现在 1号景点,随后依次前往 2、3 、4 ……n 号景点。从第 i 号景点开到第 i+1 号景点需要 Di 分钟。任意时刻,公交车只能往前开,或在景点处等待。 ……
2016-10-13 01:15:07
499
原创 补题 day1T2 矩阵快速幂+神奇的打表(清北)
题面设f(n)为斐波那契数列的第n项,求f(f(n));数据范围对于100%的数据 n <= 10^100;
2016-10-09 20:45:53
344
原创 迭代快速幂模板
代码仓库==我绝对不会承认之前我会只写递归版的==int fast_pow(int a, int k) { int ans = 1; while(k) { if(k&1) ans = ans * a; a = a*a; k >>= 1; } return ans;}
2016-10-09 19:25:14
786
原创 codevs1183 泥泞的道路(最短路)
CS有n个小区,并且任意小区之间都有两条单向道路(a到b,b到a)相连。因为最近下了很多暴雨,很多道路都被淹了,不同的道路泥泞程度不同。小A经过对近期天气和地形的科学分析,绘出了每条道路能顺利通过的时间以及这条路的长度。现在小A在小区1,他希望能够很顺利地到达目的地小区n,请帮助小明找出一条从小区1出发到达小区n的所有路线中(总路程/总时间)最大的路线。请你告诉他这个最大值。
2016-10-08 19:46:24
437
原创 noip2001 统计单词数
给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份
2016-09-30 10:38:14
577
原创 codevs 1227 方格取数2
给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij <= 1000)现在从(1,1)出发,可以往右或者往下走,最后到达(n,n),每达到一格,把该格子的数取出来,该格子的数就变成0,这样一共走K次,现在要求K次所达到的方格的数的和最大
2016-09-29 00:05:56
418
原创 tyvj p1088 treat(水的不能再水的dp)
本来想做一道网络流的,结果Tyvj把这个水题扔到了网络流的分类里面,就顺手做了==广东汕头聿怀初中 Train#2 Problem2描述给出长度为N的数列{A_i},每次可以从最左边或者最右边取走一个数,第i次取数得到的价值是i * A_j。求价值之和最大的取数方案。
2016-09-25 21:04:14
481
2
原创 noi2001 食物链(并查集)
动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是“1 X Y”,表示X和Y是同类。 第二种说法是“2 X Y”,表示X吃Y。
2016-09-24 20:59:47
413
原创 Dinic网络流(我的模板+注释)
#include<cstdio>#include<iostream>#include<algorithm>#include<cstring> #define maxn 10010#define maxm 10202010#define Inf 210000000using namespace std;struct Edge{ int u, v, cap, flow; i
2016-09-24 20:39:49
535
原创 noip2015 运输计划
公元 2044 年,人类进入了宇宙纪元。L 国有 n 个星球,还有 n−1 条双向航道,每条航道建立在两个星球之间,这 n−1 条航道连通了 L 国的所有星球。小 P 掌管一家物流公司, 该公司有很多个运输计划...
2016-09-22 19:36:28
1013
原创 noip2013 货车运输
A国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。
2016-09-22 19:17:53
422
原创 codevs p1006 等差数列
题目描述 Description给定n(1<=n<=100)个数,从中找出尽可能多的数使得他们能够组成一个等差数列.求最长的等差数列的长度。
2016-09-22 19:10:01
558
2
原创 bzoj 1601 [Usaco2008 Oct]灌水
Farmer John已经决定把水灌到他的n(1<=n<=300)块农田,农田被数字1到n标记。把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库。 建造一个水库需要花费wi(1<=wi<=100000),连接两块土地需要花费Pij(1<=pij<=100000,pij=pji,pii=0). 计算Farmer John所需的最少代价。
2016-09-22 18:56:59
740
原创 codevs 3327(dp+单调队列优化)---以此记录我的脑残经历
题目 给定一行n个非负整数a[1]..a[n]。现在你可以选择其中若干个数,但不能有超过k个连续的数字被选择。你的任务是使得选出的数字的和最大。
2016-08-22 12:09:04
546
原创 noip2010 关押罪犯
题面 S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨 气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c的冲突事件。 每年年末,警察局会将本年内监狱
2016-08-18 20:40:10
415
原创 vijos1451 区间dp+st表优化
题意 守护者拿出被划分为n个格子的一个圆环,每个格子上都有一个正整数,并且定义两个格子的距离为两个格子之间的格子数的最小值。环的圆心处固定了一个指针,一开始指向了圆环上的某一个格子,你可以取下指针所指的那个格子里的数以及与这个格子距离不大于k的格子的数,取一个数的代价即这个数的值。指针是可以转动的,每次转动可以将指针由一个格子转向其相邻的格子,且代价为圆环上还剩下的数的最大值。 现在对
2016-08-18 12:01:54
963
原创 LA3938 线段树+分治
题意 给出长度为n的整数序列,然后m次询问,对于每次询问,要求找到区间内的两个下标x,y使得区间和尽量大,如果有多解,x尽量小,还有多解,那么y也尽量小分析 最大连续和的分治分治算法是解决此题的关键,构造一棵线段树,并查集维护四个值:区间和sum,最大连续和max_sub、最大前缀和max_pre、最大后缀和max_last。建树与修改时注意 max_sub[o]=max(max(m
2016-08-18 11:13:37
413
原创 POJ1236----tarjan缩点
题目一些学校通过网络连接在一起,每个学校手中有一份名单,即它所指向的点。学校A的名单中有学校B,并不能保证学校B的名单里有学校A。现在有一软件。 1.问至少发给几个学校才能保证所有的学校都可以得到该软件。 2.至少加几条边才能使将软件发给任何一个学校后,其他所有学校都可以得到软件。 N题解一个有向图,第一问的实质是询问入度为0的点有多少,第二问的可将所有出度/入度为
2016-07-24 19:24:04
377
原创 博弈论初探----DAG上的NIM
题目给定一个DAG,起点1出有一个棋子,先手后手依次将他向出边移动,最先无法移动的人输,求先手是否必胜。//因为只要能转移到任意的对手的必败态,便为必胜态,反之为必败态,故只会有必胜/必败态存在。
2016-07-17 23:37:28
481
原创 弱智dp----路径问题
一个N * M 的方格图,每条边是一个路径,求左上角走到右下角最短距离的路径条数.一些点有障碍不能经过.如图f[i][j]为从起点到(i, j)的最短路数量f[i][j] = f[i-1][j] + f[j-1][i] ((i, j) is accessable)= 0 ((i, j) is unaccessable)
2016-07-17 20:11:42
421
原创 数位dp初探----(例为)hdu2089
数位dp总结1.满足减法: f(L, R)表示区间[L, R]之间的答案, 那么f(L, R) = f(0, R) - f(0, L-1) 则称f(L, R)满足减法。 2.f[i][st] = (求和)f[i-1][st’] 原因:一个n位数的状态总和等于一个n-1位数字的所有合法状态和 //st表示状态情况 3. 前缀的用途。 如
2016-07-17 19:51:27
292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人