笔记
文章平均质量分 65
伏地嘤嘤怪
2022 ICPC 铜牌选手
展开
-
c++ 快读快写
放一点常用快速读入的板子在这里。原创 2022-08-05 19:33:11 · 1346 阅读 · 1 评论 -
操作系统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 · 1524 阅读 · 0 评论 -
牛客练习赛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 阅读 · 0 评论 -
一些杂题(一)
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 · 1810 阅读 · 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 · 241 阅读 · 0 评论 -
组队赛总结
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 · 202 阅读 · 1 评论 -
最大独立集
独立集在无向图里面,使得任意两点之间没有一条连边。如果拥有集合中点最多的话就是最大独立集。且如果在二分图里,最大独立集 = n - 最大匹配数。Garden原创 2021-08-16 09:51:49 · 971 阅读 · 0 评论 -
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 阅读 · 0 评论 -
可恶的个人赛预备算法
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 · 113 阅读 · 0 评论 -
最小生成树板子及小结
图论第二弹之生成树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 评论 -
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 评论 -
区间dp
从零开始的dp小问题1.小Q与彼岸花题目链接:https://ac.nowcoder.com/acm/contest/11171/B题意:小 Q 的院子里种了 n,m朵彼岸花,其中第 i 朵的彼岸花的美丽值为 a i,彼岸花按照编号从小到大从左向右排成了一排。现在小 Q 有 m 个问题,他每次会给出一个区间 [l,r],他想在编号属于区间 [l,r] 的彼岸花中选出两朵花,使得 a i⨁a j(⨁ 表示按位异或操作) 的值最大(如果只能选出一朵花请直接输出 0)。思路:可以发现关于每一个输入的原创 2021-05-02 10:09:14 · 506 阅读 · 2 评论