- 博客(11)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Codeforces Round #767 (Div. 2) A~D题解
比赛通道A.Download More RAM题意:T组数据: 给n组a和b,给一个初始值k。 如果a[i]<=k,那么k加上b[i] 输出k的最大值思路:用a当关键字从小到大排序,一个for循环跑一遍一直累加b,知道k<a[i]为止时间复杂度:O(n)O(n)O(n)代码:#include<iostream>#include<algorithm>#include<cmath>#include<cstdio>#i
2022-01-23 09:31:50
214
原创 Codeforces Global Round 18 A-C题解
A. Closing The Gap题意:给nnn个整数a1a_1a1…ana_nan,有一种操作:选择两个a,b使a+=1,b-=1问经过若干次操作后,Max(ai...an)−Min(ai...an)Max(a_i...a_n)-Min(a_i...a_n)Max(ai...an)−Min(ai...an)的最小值思路:想水流一样,这个高度差的最小值不可能>1(可自行证明)如果∑i=1nai\sum_{i=1}^n a_i∑i=1nai modmodmod nn.
2021-12-25 17:05:24
549
原创 treap【来自蒟蒻的整理】
萌新的日常treap学习,技术欠缺,见谅前言:众所周知平衡树两大算法splay和treap,听某谷的大佬说treap要快(可能也并非如此),所以我只学了treap 。treap:“树堆” “Tree + Heap”性质:每个点随机分配一个权值,使treap同时满足堆性质和二叉搜索树性质复杂度:期望O( logn )作用:在logn的复杂度求出一个数的排名和排名为x的数或求一个数的前驱和后驱正片开始:以下关于treap的常识借鉴lxl的课件设每个节点的关键字是key,随机权值是rand
2021-11-20 22:49:45
707
原创 网络流初学整理
注:本博文为初学者写的,没有用过多的专业术语,所以叙述很啰嗦,大佬可指点(本博客采用链式邻接表存图)网络流知识比较难,各位读者细品网络流顾名思义,是一个专门用来求网络流动问题的算法(也称最大流)具体定义可参考百度百科老规矩,光动嘴皮子讲不明白,通过题来分析比较好。洛谷最大网络流裸题题目大意:给出源点和汇点,求出从源点到汇点最大的网络流。这好像就是题目/误显然这道题暴力dfs是肯定过不了的(那么直接切入主题)EK算法:(此算法相对较简单,但也需要一段时间的细心思考)EK算法是网络流中最简
2021-10-31 21:57:12
230
原创 [SDOI2012]任务安排(山东省选)斜率dp
一键跳转至题目题目描述机器上有 nnn 个需要处理的任务,它们构成了一个序列。这些任务被标号为 111 到 nnn,因此序列的排列为 1,2,3⋯n1 , 2 , 3 \cdots n1,2,3⋯n。这 nnn 个任务被分成若干批,每批包含相邻的若干任务。从时刻 000 开始,这些任务被分批加工,第 ii 个任务单独完成所需的时间是 TiT_iTi 。在每批任务开始前,机器需要启动时间 sss,而完成这批任务所需的时间是各个任务需要时间的总和。注意,同一批任务将在同一时刻完成。 每个任务的费用是它的
2021-08-01 22:45:41
248
原创 蒟蒻的数论整理
数论的水不深,但是你把握不住1.快速幂思路:如果 b=c+db=c+db=c+d那么我们可以将 aba^bab转化为ac∗ada^c*a^dac∗ad 小学生都会的公式在代码中我们可以在for循环中设一个临时变量,用来记axa^xax并判断xxx是否在bbb中,如果是将答案乘上axa^xax即可代码:int pow(int a,int b){//此快速幂代码可能和一些大佬学的不太一样 if(b&1){//首先判断1是否在b中 res=a; b--; } ll tt=a
2021-07-11 16:26:27
222
1
原创 2020-09-12
#include <iostream>#include <cstdio>#include <ctime>using namespace std; int main(){ clock_t start,stop; double tim; int y; start=clock(); for(int i=1;i<=1000000000;i++) y=345+999; stop=clock(); tim=(double)(stop-start)/CL
2020-09-12 16:02:17
76
原创 PAT题目:电话聊天狂人题解(基础map)
看到这一题我的第一反应是:太水了 肯定是map基础应用题。题面:给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数NNN(N<=105)(N<=10^{5})(N<=105) ,为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出
2020-08-07 23:14:59
604
2
原创 STL及其应用
注意此章并非划水,对STL初学者有很大帮助C++模板与STL库介绍提纲 1. 概论 2. 模板机制的介绍 3. STL中的基本概念 4. 容器概述 5. 迭代器 6. 算法简介概论 C++ 语言的核心优势之一就是便于软件的重用 C++中有两个方面体现重用: 1. 面向对象的思想:继承和多态,标准类库 2. 泛型程序设计(generic programming) 的思想:模板机制,以及标准模板库 STL泛型程序设计 泛型程序设计,简单地说就是使用模板的程序
2020-07-16 23:22:38
345
原创 推箱子c++游戏
直接上代码:#include <cstdio>#include <iostream>#include <ctime>#include <conio.h>#include <windows.h> #include <cstdlib> #include <cstring> #...
2020-04-05 10:30:27
285
1
原创 计蒜客-逃生(dp题目)
题面:蒜头君在玩-款逃生的游戏。在-个n x m的矩形地图上,蒜头位于其中一个点。地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一个数字,如果格子上的数字是正数说明是一个药剂代表增加的生命值,如果是负数说明是火焰代表失去的生命值。蒜头初始化有V点血量,他的血量上限是C,任何时刻他的生命值都不能大于血量上限,如果血为0则会死亡,不能继续游戏...
2020-03-19 09:13:58
574
如何做计蒜客的推箱子题目
2020-06-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人