- 博客(41)
- 收藏
- 关注
原创 操作系统pv原语
某工厂有两个生产车间和一个装配车间,两个生产车间分别生产A、B两种零件,装车间的任务是把A、B两种零件组装成产品。两个生产车间每生产一个零件后都要分别把它们送到专配车间的货架F1、F2上。F1存放零件A,F2存放零件B,F1和F2的容量均可以存放10个零件。装配工人每次从货架上取一个零件A和一个零件B后组装成产品。请用P、V操作进行正确管理。哲学家进餐问题(不出现死锁)方法(最多允许有四位哲学家同时拿左边的筷子)文件管理问题有一个文件F供进程共享,现把这些进程分成A,B两组,规定同组的进程可以同时读
2022-06-19 15:21:32 1515
原创 操作系统简答题
操作系统:控制和管理计算机系统硬件和软件资源、合理地组织计算机工作流程,以方便用户使用的程序的集合配置操作系统的目的:为了多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊的、高效地运行,并能最大程序的提高系统中各种资源的利用率和方便用户使用。操作系统的功能:处理器管理(进程及控制,调度与死锁),存储器管理(存储器管理,虚拟存储器),设备管理(输入输出系统),文件管理多道程序设计: 多道程序设计指的是允许多个程序同时进入一个计算机系统的内存并启动进行计算的方法。并使他们交替进行,共同分享软件资源
2022-06-13 09:13:07 633 1
原创 计算机网络期末复习
线路(电路)交换技术建立线路:一个节点一个节点请求,请求一条线路,占用它,反馈可用占用线路并进行数据传输:比特流直达释放线路:传输完毕,一个节点一个节点发送释放请求,释放资源存储转发技术报文转发技术一整个报文同时传递分组交换技术将报文分成小的多份进行传递分组长度小于报文交换 ,所以延时更小,更具有灵活性 电路交换需要建立连接并预留资源,难以实现灵活复用 报文交换和分组交换较灵活,抗毁性高,在传送突发数据时可提高网络利用率 由于分组长度小于报文长度,分组交换比报文交换的时延小,也具有更
2022-06-09 00:42:45 534 3
原创 最小生成树板子及小结
图论第二弹之生成树1.1 Kruskal算法求最小生成树#include<bits/stdc++.h>using namespace std;const int maxn = 510;int root[maxn];int find(int x) { if (root[x] == x) return x; else return root[x] = find(root[x]);}struct edge { int from, to, dis; boo
2021-06-04 13:55:07 528 3
原创 图论第一弹之最短路
最短路总结1.堆优化dijkstra算法可以解决自环,重边,但边权必须为非负数用的vector存边const int maxn=1e5+86;int a[maxn],dis[maxn],vis[maxn];int n,m;struct edge{ int to,dis;};vector<edge>g[maxn];struct edge1{ int id,dis; bool operator<(const edge1&rhs )const
2021-05-28 21:03:20 984 4
原创 2022 ICPC 南京站
三题 铜第一块 ICPC 牌子用了两个小时就结束了,后面三小时 D和M一起开 非常可惜一题都没过,D题我们用了主席树加二分 复杂度是nlogn2一直 t 可能这个复杂度就是过不了的,M题是一道计算几何 ,这道题一直是我其他两个队友在写 ,好像最后题解出来说和我们的想法差不太多,最后三题拿下铜牌~
2022-12-19 16:24:21 2960 1
原创 2022 China Collegiate Programming Contest (CCPC) Mianyang Onsite
记 dpdpdp 状态为 dp[i][j][k]dp[ i ][ j ][ k ]dp[i][j][k] ,为在第 iii 轮,A变了 jjj 次,B变了 kkk 次,然后直接开始搜索C. Catch You Catch Me签到~G. Let Them Eat Cake模拟~签到++H.Life is Hard and Undecidable, but…赛场上画了两个半小时的生命游戏~想到的话 其实很简单存活两轮的图示:代码很简单~M. Rock-Paper-Scissors Py
2022-12-06 17:13:04 801 1
原创 The 2019 ICPC Asia Nanjing Regional Contest J.Spy
现在Bob 还没有组好团队,而 Amy 的团队成员已经组好了。问Bob 在知道 Amy 团队成员的情况下,组队可以获得最大的期望值。 通过模拟可以发现,当 Bob 确定好自己的团队成员的时候,每个团队带来的贡献是 Amy 团队所有比他们小的数量。的权值,这个权值就是团队 Amy 所有小于他们的数量。建完图跑一次最大流,跑出来的答案就是我们最后要求解的答案。 那么确定 Bob 这里的团队构成呢,刚开始想了一个很假的贪心,使 Bob 超过。) 看起来复杂度是对的 但是这个贪心是不对的。
2022-11-04 14:32:11 562 1
原创 2022“杭电杯”中国大学生算法设计超级联赛(3)题解
二分时间判断dp过程中的取到的最大值是否能够到达h。来表示前面用了多少个a序列用。来表示前面用了多少个b数组,用。来表示构成这种方法会有几种方式。(队友写的bushi很懂。
2022-07-26 21:00:13 299 2
原创 codeforces dp合集
当前连通块是有色的,和有色的孩子断开dp[x][1]=dp[x][1]*dp[to][1]当前连通块是有色的,和没有颜色的孩子连接dp[x][1]=dp[x][1]*dp[to][1]当前连通块是无色的,和有色的孩子连接dp[x][1]=dp[x][0]*dp[to][1]当前联通块是无色的,和有色的孩子断开dp[x][0]=dp[x][0]*dp[x][1];当前连通块是无色的,和无色的孩子连接dp[x][0]=dp[x][0]*dp[x][0];...
2022-07-22 20:19:37 650
原创 2022 杭电多校 第一场
这个时候已经可以知道结论肯定是和2的平方有关系的然后在试试一个1和两个2发现这样也是可以的。想到了dp[i]来表示异或值为i的各种体积值虽然好像这样看又回到了原来一样的问题。再往后推可以发现序列中有4个2的时候Alice也是刚好赢的。但因为体积值是相加的这里面的一层可以用bitset来优化。可以看出一开始序列有一个0的时候Alice赢。求一下期望遇到0.5的时候求一下逆元就好了。假如序列中有2个1的时候Alice也是赢的。再验证一个有8个3的时候,Alice是赢的。......
2022-07-19 18:47:51 1734 3
原创 2022 ZJNU暑期个人赛补题
题意:有n块地板,每块地板有一定的积雪f,john有b双靴子,每双鞋子可以让他至多前进d,同时这双靴子让他最多只能在s的积雪中行走john从1号地砖出发,他必须到达n号地砖,给出靴子的s和d,问这双靴子可以帮助他走完这段路吗?数据范围:1 ≤\leq≤ n,bn,bn,b ≤\leq≤ 1e51e^51e5想法:先对靴子进行离线操作,对靴子的高度进行从大到小的顺序进行排序,同时把地板的积雪高也从大到小进行排序。我们算最长不能通过的序列,这样的话,一点点把那些大于靴子的高度放进来,放进来之后,判断能
2022-07-11 20:07:28 236 1
原创 windows桌面美化
文章目录腾讯桌面整理bitdock腾讯桌面整理对文件夹进行一些收纳和管理链接:https://guanjia.qq.com/product/zmzl/在官网上下载可以选择桌面整理独立版点开下载好的exe文件 就可以自动整理成这样的东东(这样看着就整齐多拉bitdock官方链接:http://www.bitdock.cn/点击下载就可以了点击 自定义选项 更改一下文件路径位置...
2022-05-30 17:20:48 408 1
原创 CP Editor安装配置
文章目录前言一、安装CP Editor二、Competitive Companion三、cf tool总结前言最近发现了一个好用的编译器(用来写 cf 的题还是很方便滴一、安装CP Editor下载网址:https://cpeditor.org选择适配的系统 然后下载即可把下载好的东西设置一下环境变量 找到下好文件中bin的位置 然后粘贴一下路径我这里是: E:\cpeditor\mingw64\bin然后把它放到环境变量里面去这样就可以编译运行了二、Compe
2022-05-14 19:05:46 4053 7
原创 实用的快捷键们
一、程序切换键tab + alt按住 Alt 键不放,再连续按下 Tab 键即可在一对话框中显示出当前已经运行的所有程序的图标和当前激活的程序的图标及其名称二、全选ctrl + a三、复制粘贴复制 ctrl + c粘贴 ctrl + v四、选中当前行按 home 然后按 shift + ↓ 或者 shift + end(多按一下 ↓ 就会多选中一行)五、剪切ctrl + x六、撤回ctrl + z...
2022-04-07 23:59:53 302 2
原创 【每日一题】Namomo Spring Camp 2022 Div1 # “Z“型矩阵
"Z"型矩阵题目链接题意对一个只包含 ... 和 zzz 的矩阵,当以下条件满足时 :该矩阵的行数列数相等。该矩阵的第一行与最后一行的字符全是 zzz该矩阵从右上角到左下角的对角线上的字符全是 zzz我们称其为 zzz 矩阵 现在给定一个 n∗mn * mn∗m 的矩阵,请你计算它有多少个子矩阵是 zzz 矩阵n,mn,mn,m 分别表示矩阵的行数和列数1 ≤\leq≤ n,mn,mn,m ≤\leq≤ 3e33e^33e3思路首先我们可以通过前缀和的思想,先预处理出来左边,右边
2022-03-30 21:32:54 498
原创 【每日一题】Namomo Spring Camp 2022 Div1 #最大公约数
最大公约数题目链接题意你有一个环,环上有 nnn 个正整数。你能将环切成k段,每段包含一个或者多个数字。对于一个切分方案,优美程度为每段数字和的最大公约数,你想使切分方案的优美程度最大,对于 k=1,2,…,nk=1,2,…,nk=1,2,…,n 输出答案。思路先观察一下这个样例,可以发现每段数字和的最大公因数那么一定也是这个环里所有的数加起来的和。有了这个性质,发现这个数最大才1e11的,大胆猜测一下里面最多的因子是不会超过200的那么我们就可以根据这个已知的因子,去找关于这个因子最多能被分
2022-03-21 00:33:10 1317
原创 【每日一题】Namomo Spring Camp 2022 Div1 #树上逆序对
树上逆序对题目链接题意对于一棵有根树,定义树上的逆序对为满足 aaai< aaafai 的二元对 (i,(i,(i,f ai )~ai~) ai ) , 其中 fffai 表示结点 iii 的父亲结点对于一棵 kkk 叉树, 结点 iii 的子节点的编号集合为 [1,n]∩[k(i−1)+2,ki+1][1,n]∩[k(i−1)+2,ki+1][1,n]∩[k(i−1)+2,ki+1] 中的所有整数给定 nnn 个结点的权值 aaa1, aaa2,…,
2022-03-18 01:06:47 1385
原创 【每日一题】Namomo Spring Camp 2022 Div1 #三角果计数
三角果计数题目链接题意给一个 nnn 个节点的树, 三角果定义为一个包含3个节点的集合, 且他们两两之间的最短路长度 a,b,ca, b, ca,b,c 能够构成一个三角形。计算这棵树上有多少个不同的三角果。1 ≤\leq≤ nnn ≤\leq≤ 1e51e^51e5 , 1 ≤\leq≤ wi ≤\leq≤ 10910^9109思路 | 递归从简单的试试样例可以发现,能否构成三角果是和边权没有关系的,然后就是在一条链上的三个结点都是不行的,其实的结点只要不在一条链上,都是可以被算
2022-03-16 22:40:25 1094
原创 【每日一题】Namomo Spring Camp 2022 Div1 #路径计数2
路径计数2题目链接题意有一个 n∗nn∗nn∗n 的网格,有些格子是可以通行的,还有 mmm 个格子是障碍。一开始你在左上角的位置,你可以每一步往下或者往右走,问有多少种走到右下角的方案。由于答案很大,输出对 10910^9109+7 取模的结果。思路 | 组合数因为 nnn 的量级有点大,原来的 dpdpdp 正向求一共有多少条路是不行的。现在的话就要求总路径的条数减去不能通行的路径数量。假设从A到B的路径中没有障碍点,那么从A到B的路径数是组合数 C(x+y,x)C(x+y,x)C(x
2022-03-11 01:29:42 1886
原创 Codeforces Round #774 (Div. 2) D. Weight the Tree
D. Weight the Tree题目链接题意 | 简单给你一棵树 nnn 顶点编号从 111 到 nnn ,树是无环的连通无向图。对于每个 iii = 1,2,...,n1 , 2 , ... , n1,2,...,n, 让 wi 是第 iii 个顶点的权值。如果一个顶点的权重等于其所有邻居的权重之和,则该顶点称为好顶点。最初,所有节点的权重都未分配。为树的每个顶点分配正整数权重,使得树中好顶点的数量最大化。如果有多种方法可以做到这一点,则必须找到一种使树中所有顶点的权重总和最小化的方法。思
2022-03-05 22:32:41 372 2
原创 Namomo Spring Camp 2022 Div1 #452.序列操作
452. 序列操作题目链接题意 | 简单给你一个长度为 nnn 的序列 a1, a2,…, an你需要进行两种操作:1 x y 将第 xxx 个数变为 yyy ;2 y 将所有小于 yyy 的数修改为 yyy ;一共执行 qqq 次操作,输出执行完所有操作后的序列。1 ≤\leq≤ n,qn,qn,q ≤\leq≤ 1e61e^61e6 , 1 ≤\leq≤ ai ≤\leq≤ 10910^9109思路 | 思维第一种操作是强制进行的,所以这个操作只需要记每一个位
2022-03-04 00:26:53 344
原创 Namomo Spring Camp 2022 Div1 #451. Dis
451. Dis题目链接题意 | 简单给出 n 个点的一棵树,每个点有各自的点权,m 次询问两个点简单路径所构成点集的异或和。1 ≤\leq≤ n,mn,mn,m ≤\leq≤ 2e52e^52e5 , 1 ≤\leq≤ ai ≤\leq≤ 10910^9109思路 | 倍增已知给出的是一颗树,在树上直接求 lcalcalca ,把每个点权放进去通过倍增预处理一下,最后注意一下板子的边界就好了数据量有点大,记得开快读~代码#include<iostream>#in
2022-03-03 23:47:15 460 1
原创 牛客练习赛96
A:小y的平面题意 | 简单平面上有nnn个点,第iii个坐标为xi,yi,初始小y在(0,0),小y每次可以选择从(x,y)走到(x+1,y)或者(x,y+1),求他能否走出一条经过所有n个点的路径1 ≤\leq≤ nnn ≤\leq≤ 10610^6106 , 1 ≤\leq≤ xi, yi ≤\leq≤ 10910^9109思路 | 暴力直接先对x轴排序,再对y轴排序就可以了,最后检查一下是不是递增的y轴就好了代码#include <iostream>#inc
2022-02-25 16:15:01 320
原创 一些杂题(一)
D. Shortest Cycle题意有n个点,每个点有个权值ai。点 i 和点 j 之间连一条边当且仅当 ai&aj 不为0。求该图上的最小环长。n<=1e5 ,ai<=1e18思路求最小环的算法可以想到用floyd(n^3)的算法来进行求解,但是这里的n为(1e5)这个级别。要找到这道题和其他的求最小环的不一样的地方,容易发现这里有一个条件(ai&aj)这样子的话才会对 i 和 j 之间连一条边。那就需要把这个转成二进制的样子,只要某一位都是1的话就可以
2022-01-14 22:38:57 296 2
原创 JAVA总复习
标识符标识符由字母,下划线,美元符号和数字组成,第一个字符不能是数字,falsefalsefalse不是标识符。关键字关键词是Java语言中已经被赋予特定意义的一些单词,不可以把关键词作为名字来用。true 和 false 都不是关键词基本数据类型boolean , char , byte , short , int , long ,float , doublechar 类型是两个字节的,在C语言中是unicode表是从0开始到65535,在java里面是没有unsigned类型的float
2021-12-27 18:09:00 570 4
原创 2021CCPC女生赛总结
#include<bits/stdc++.h>using namespace std;int n, m;const int maxn = 40;int c[maxn], w[maxn];vector<int>g[maxn];int dis[maxn][maxn];int vis[maxn];int dp[maxn], maxx[maxn];void dfs(int x) { int len = g[x].size(); for (int i = 0; i <
2021-11-01 21:31:41 1802 4
原创 线段树好题
最近等对(线段树+离线+双指针)题意:有一个序列a1a1a1 ,a2a2a2 ,a3a3a3 ,…,ananan , 还有 mmm 次查询 l,rl , rl,r,对于每一个查询,找出距离最近的xxx 和 yyy,且满足a[x]==a[y]a[x]==a[y]a[x]==a[y] , 两个数字的距离是他们下标之差的绝对值。这里的序列的长度是5e5的,里面的查询数量也是到5e5量级的,那显然复杂度最高就到nlognn lognnlogn的量级,而每次查询区间的时候最多只能有一个log的操作,那么如果不
2021-10-27 20:12:34 240
原创 网络流24题
飞行员配对问题软件补丁问题餐巾计划问题家园 / 星际转移问题太空飞行计划问题试题库问题最小路径覆盖问题魔术球问题最长不下降子序列问题航空路线问题方格取数问题机器人路径规划问题圆桌问题骑士共存问题火星探险问题最长k可重线段集问题最长k可重区间集问题汽车加油行驶问题孤岛营救问题深海机器人问题数字梯形问题分配问题运输问题负载平衡问题...
2021-10-11 13:47:07 152 1
原创 组队赛总结
DIFERENCIJA求一个数组所有连续子序列的最大值减最小值的权值总和先转化为求所有连续子序列的最大值和所有连续子序列的最小值采用dpdpdp加栈的想法,dp1[i]dp1 [ i ]dp1[i]代表以iii为右端点的前iii个区间的最大值状态转移 dp1[i]=dp1[pos]+(i−pos)∗a[i]dp1[i] = dp1[pos] + (i - pos)*a[i]dp1[i]=dp1[pos]+(i−pos)∗a[i] pospospos代表前一个大于a[i]a[i]a[i]的
2021-08-27 20:06:05 200 1
原创 最大独立集
独立集在无向图里面,使得任意两点之间没有一条连边。如果拥有集合中点最多的话就是最大独立集。且如果在二分图里,最大独立集 = n - 最大匹配数。Garden
2021-08-16 09:51:49 966
原创 2021百度之星初赛三
1.数字游戏给你最大值,最小值和平均值,判断是否能构成一个数组符合给定值特判一下有没有最小值大于最大值的情况#include<bits/stdc++.h>using namespace std;const int maxn = 1e5 + 100;int a[maxn];int main() { int t; cin >> t; while (t--) { int n, maxx, minn, aver; cin
2021-08-07 21:46:09 842 1
原创 2021牛客多校二(补题)
I.Penguins可爱的企鹅竟然都不配被讲~ 可恶啊 ~题意:问同时到给定点的最短路,并且输出他们的最短路径和行走方向~且两边的点都是镜像的 左右刚好是反的思路:从学姐代码里学到的设立一个四维的dis的数组,然后写一个bfs按照字典序的顺序设立它的上下左右,加一个记录路径的数组,再回溯一下,然后随便搞一下,答案大概就出来啦~#include<bits/stdc++.h>using namespace std;int INF = 0x3f3f3f3f;char mp1[25][25
2021-07-20 01:08:11 117
原创 可恶的个人赛预备算法
1.并查集并查集感觉还是比较easy的const int maxn = 510;int root[maxn];int find(int x) { if (root[x] == x) return x; else root[x] = find(root[x]);}2.LCA寻找一颗树里的的最近公共祖先,用倍增进行优化一下
2021-07-15 09:32:54 112
原创 背包模型下的dp
1.Armchairs题意:给你一个01串,要把所有1的位置移到0的位置,且这样的花费要最小,移动一次花费是 abs(1的位置-0的位置)。思路:用背包状态下的dp[ i ][ j ]来表示前 i 个1在前 j 个0下的最小值,根据题意可以知道 |x1-y1|+|x2-y2|<=|x1-y2|+|x2-y1|,这样 必然可以得到他们不会交叉。接下来推状态,用dp[ i ][ j ]来划分子集,一共有两种状态一种就前面的已经是最优了就直接dp[ i ][ [ j -1]就好了,还有一种就是找到了一种
2021-05-19 14:08:17 196
原创 2021蓝桥杯4月B组全部题目加分析
1.空间#include<bits/stdc++.h>using namespace std;typedef long long ll;int main(){ ll sum; sum=256*1024*1024*8/32; cout<<sum<<endl; return 0;}2.卡片模拟一下,最后是不能拼出的前一个数#include<bits/stdc++.h>using namespace std;t
2021-05-12 18:59:04 1733 7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人