
笔记
文章平均质量分 53
菜鸡一号¥
我很懒,没有加任何个人简介
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法设计与分析作业:小朋友过桥问题(蓝桥杯)
在一个夜黑风高的晚上,有 nn 个小朋友在桥的这边,现在他们需要过桥,但是由于桥很窄,每次只允许不超过两人通过,他们只有一个手电筒,所以每次过桥后,需要有人把手电筒带回来,第 ii 号小朋友过桥的时间为 a_iai,两个人过桥的总时间为二者中时间长者。问所有小朋友过桥的总时间最短是多少。输入格式第一行输入一个整数 nn,表示有 nn 个小朋友。第二行有 nn 个整数 a_iai ,a_iai 表示第 ii 个小朋友过河需要的时间。输出格式输出一个整数,表示所有小朋友过河所需要的时间。随后是原创 2021-10-07 13:23:13 · 622 阅读 · 0 评论 -
。。。..
阶梯博弈的讲课:树的删边游戏:无向图删边游戏: 竹子原理比较好证明。 数学归纳法比较严谨,竹子原理的理解基础上在作证明。证明博客:浅谈博弈论 | 远航休息栈 (yhzq-blog.cc)【算法学习笔记】博弈论浅析之游戏类 - RioTian (cnblogs.com)这两篇博客的证明应该够啦。对于无向图的证明用奇偶对称性构造即可。二分图博弈:考虑二分图的最大匹配,若最大匹配一定包含起点,则先手胜,否则后手胜。二分图博弈是一类博弈模型,它可以被抽象为:给出一张二原创 2021-08-11 11:30:02 · 234 阅读 · 0 评论 -
数独的填充——AcWing 166. 数独
#include <bits/stdc++.h>#include <algorithm>#include <cstring>#include <iostream>#include <queue>#include <unordered_map>#define xx first#define yy secondusing namespace std;typedef pair<int, int> PII;typ原创 2021-07-29 21:07:06 · 244 阅读 · 1 评论 -
树状数组笔记
1.树状数组的基本使用是求求前缀和。插入中的所有数组每一个以k结尾的sum【k】中会存有1到k的前缀和,修改需要修改他的直接父节点,然后一直修改到小于等于n的大小。add公式:for(int i=x;i<=n;i+=lowbit(i))tr[i]+=c;查询例如:12 (1100)需要查询到 8和12 这两个点刚好存储啦12 之前的所有点的前缀和。ask公式:for(int i=x;i;i-=lowbit(i))res+=tr[i];return res;2.O(n)建立树状数组原创 2021-07-02 22:20:33 · 212 阅读 · 1 评论 -
bfs+多队列优化。(自己出题出的后台数据水的很)
命题人:ww知识点:bfs+多队列难度:中档时间限制:1000ms内存限制:65536KiB食堂买饭#### Description题面描述:acmer今天要从实验室去食堂买包子回来,实验室的教学楼到超市之间有一条漆黑的路,路是用黑色或者白色的地板铺成的,acmer看不清黑色的地板,只能看清白色的地板,acmer需要照亮黑色的地板后才能走到该位置,白色地板则不需要。acmer用来照亮的是一个破旧的手电筒,他需要预先充电才能使用(电量初始为零),因为太过于破旧,照亮一块地板之后手电筒的原创 2021-06-26 20:18:47 · 161 阅读 · 3 评论 -
离散化模板
vector<int> v;int find(int x){ return lower_bound(v.begin(), v.end(), x) - v.begin();}方在main里面:sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end());原创 2021-06-04 09:49:51 · 151 阅读 · 0 评论 -
2021Hubei ProvincialCollegiateProgrammingContestDAF+一道acwing
比赛链接地址。先做出来的是F题这道题目的话我用的优先队列(battery)配一个sort后的location数组然后挨个遍历battery里面最小的用来先解决location里面最小的值,最后得到最优解。这道题目的话因为location全是2的倍数的大小,似乎还可以借助这个性质来做。#include <bits/stdc++.h>using namespace std;typedef long long ll;int n,m;const int maxn = 3e5+1000;原创 2021-05-27 18:56:54 · 1134 阅读 · 5 评论 -
可持久化数据额结构--trie和线段树的可持久化版本。(两道模板题)
最近学啦这两种树的可持久化版本,有点感悟,记录一下。可持久化trie题目链接:最大异或和第一步::这道题的解法需要一个前缀知识,是异或操作的可以想加减操作一样,也就是可以做一个前缀和数组,而且这道题目里面的需要的 left 到 right 区间里面选择一个p点之后,答案也就是可以转化成一个 S前缀数组里面的 S[N] ^ S[P-1] = A[p]^…A[N-1] ^A[N];最中需要求解的表达式也就转化成啦S[P-1] ^S[N] ^X;然后因为需要必须选择一个节点所以是printf("%原创 2021-05-21 20:02:26 · 160 阅读 · 0 评论 -
sdut操作系统XOSCATS第九单元九道题题解
第一题effective access time记住公式:(访问内存时间+访问快表时间)命中率+(访问内存时间2+访问快表时间)*未命中率=cpu访问一个数据的平均时间第二题process deadlock1.当问R1类 的最少资源数的时候用进程数n*(w-1)的到的数字加以就是不会死锁的答案2.当问没个进程R1的类资源最少为多少是用将m变成(m/n+is(m%n))n;然后就是用n(w-1)==m得到w的解计算死锁时,假设有m个共享资源,n个进程,每个进程所需的最大资源数为w,那么m&原创 2021-05-18 18:46:07 · 1055 阅读 · 0 评论 -
L3-016 二叉搜索树的结构 (30 分)
L3-016 二叉搜索树的结构 (30 分)题目见上面连接;被恶心到的第二次,上次是因为这道题目的字符串输入用的是getline然后判端某一位置的字母然后提取数字的方式,自己给写复杂啦,不要用getline来解这道题目;我认为这道题目应该是用字符串(一个一个吃)比较好判端也不用转haul数字;这次被恶心到的是忘记判端level那个一条语句最后找不到x或者y为键值的节点的情况,这种情况应该直接输出”No“。然后附上两种代码。第一种是全部都实现啦一遍;第二种是只借用啦一个find函数实现遍历树的。原创 2021-04-22 17:33:57 · 233 阅读 · 0 评论 -
7-14 二叉搜索树的最近公共祖先 (30 分)
这道题目我认为只有这一种做法是nlogn的复杂度,,,,来记录一下,别的方法(一个一个插入的那种)对于深度很深的情况都是会把时间拖到n方的时间复杂度。这种做法建树过程中只有排序的时间最长;建树是n的时间复杂度(每一个节点遍历一次)。#include <algorithm>#include <bitset>#include <cmath>#include <cstdio>#include <cstdlib>#include <cst原创 2021-04-21 20:14:41 · 424 阅读 · 0 评论 -
蓝桥杯--七段码
#include <algorithm>#include <bitset>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <deque>#include <functional>#include <iostream>#include <map>#include &原创 2021-04-17 20:28:05 · 190 阅读 · 0 评论 -
L3-002 特殊堆栈 (30 分)
L3-002 特殊堆栈 (30 分)此题用multiset过不了用vector可以过就离谱。感觉这道题目用树状数组来做是最好且不可能超时的算法。毕竟是一个log级别数据结构还可以用来求逆序对。这道题目用vector来做的话直接就是开一个栈,开一个vector然后更新(o(n))最后删除(o(n)),求中值的话非常快,直接找数组中间值就好。接下来说一下树状数组的做法,今晚通过这道题和一个树状数组求逆序队的博客算是懂啦树状数组是真的香。开一个树状数组的然后树状数组的前多少项的和存的就是小于等于下标原创 2021-04-10 21:11:01 · 107 阅读 · 0 评论 -
模板
模板整理:模板基本是从别人的博客或者视频讲解里面挖过来的,如有侵权及时警告,本人将尽快删除侵权内容。数学:FFF快速傅里叶变换这位大佬基本把闫总讲的都写啦一遍甚至还会多出一些呢容。后期将会及时增加模板博客。...原创 2021-03-22 20:22:27 · 118 阅读 · 0 评论 -
结构体的重载与自写cmp比较函数
题目链接acwing上的一个题目。闫总总结出来的模板。记重载。#include <cstring>#include <iostream>#include <algorithm>#define x first#define y secondusing namespace std;typedef pair<int, int> PII;//const int N = 310;//int n;//struct Person//{//原创 2021-01-22 16:48:28 · 560 阅读 · 0 评论 -
Codeforces Round #646 (Div. 2) 1和0不能互夹心的问题,和北大美团杯xxxxlllll有点像
B. Subsequence Hatehttps://codeforces.ml/contest/1363/problem/B上面一行是题目链接添加链接描述下面是cf官方给的题解c++1363B - Subsequence HateKey Idea: There are two types of good strings: Those which start with a series of 1’s followed by 0’s (such as 1111100) and those which原创 2020-06-01 09:37:30 · 284 阅读 · 0 评论 -
快排函数的使用
链接:https://ac.nowcoder.com/acm/contest/5278/B来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述为了预防新型冠状病毒的侵袭,学校组织学生进行每日一报——自 2020 年 1 月 30 日 起至今,每位同学都必须上报自己的身体状况。...转载 2020-04-19 16:58:57 · 170 阅读 · 0 评论 -
#001数据结构实验之链表一:顺序建立链表
标题#001数据结构实验之链表一:顺序建立链表Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。Input第一行输入整数的个数N;第二行依次输入每个整数。Output输出这组整数。Sample Input812 56 4 6...原创 2019-12-21 17:54:53 · 130 阅读 · 0 评论