07 2024 档案

摘要:B 显然不能走回头路,如果具体考虑各种情况会很麻烦。 比如箱子在的地方是不是割点,人能不能绕过箱子去到箱子附近..额,总之很麻烦,需要一个通解 那就考虑人先 不经过箱子 走到箱子的邻点的最短距离,可以用一遍bfs解决。 然后再考虑从1号点的某个邻点开始,人拉着箱子怎么走。 可以把人-箱子看成一条有向 阅读全文
posted @ 2024-07-29 11:04 liyishui 阅读(39) 评论(0) 推荐(0) 编辑
摘要:好吧标题党了一回,但我相信有不少人被出题人的那句“手玩一下就知道了”无语住了 像我这种憨憨一旦想偏了就救不回来了,于是困惑了好久,在雨巨的指导下彻底搞懂 (此处大声谢谢雨巨,又有实力又会讲题又认真答疑每一个问题,呜呜呜我永远的姐) 题意简单来说就是定义f(i)为树上i点到其他所有点的距离之和,给定x 阅读全文
posted @ 2024-07-28 17:38 liyishui 阅读(59) 评论(0) 推荐(0) 编辑
摘要:1477A - Nezzar and Board 观察到2x-y可以拆成x+(x-y),现在模拟一下这个过程 发现得到的数可以看成从某个点xj出发,加上若干个两数之间的差的形式。 再考虑一下2x-y的几何意义,发现相当于在数轴上做x关于y的对称点,并且和数的分布位置有关,和具体数值是无关的 接下来有 阅读全文
posted @ 2024-07-26 23:36 liyishui 阅读(8) 评论(0) 推荐(0) 编辑
摘要:打了个爽!今天打得很稳,基本没有罚时,相当优雅的一场 1002 旅行 线段树合并经典题,顺便在过程中做个dp #include<bits/stdc++.h> using namespace std; const int N = 2e5+5; #define mid ((l+r)>>1) typede 阅读全文
posted @ 2024-07-26 19:50 liyishui 阅读(168) 评论(0) 推荐(0) 编辑
摘要:磨合上升期,爽! B 队友做的 #include<bits/stdc++.h> using namespace std; #define int long long inline int read() { int x=0;bool f=1;char ch=getchar(); for(;ch<'0' 阅读全文
posted @ 2024-07-24 11:29 liyishui 阅读(138) 评论(0) 推荐(0) 编辑
摘要:A #include<bits/stdc++.h> using namespace std; int a[200]; void solve(){ int n,k;cin>>n>>k; a[1]=n; for(int j=n-1,i=2;i<=1+(n-1)*2;i+=2,j--){ a[i]=a[i 阅读全文
posted @ 2024-07-24 10:56 liyishui 阅读(67) 评论(0) 推荐(0) 编辑
摘要:B MST 类似根号分治的思路,点数少的跑Prim,点数大的跑Kruscal 有个坑点是分界点调100过不了,90能卡过去 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e5+5; 阅读全文
posted @ 2024-07-22 11:13 liyishui 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1003 树 正解是开权值线段树暴力合并 那线段树合并的思想是什么?线段树合并就是线段树_合并啊!(bushi) 想象有两棵线段树,合并时就是对应的节点信息融合 比如现在区间[1,5],用num[rt]表示rt管辖的区间里数的个数 树a的num[rt]=3,树b的num[rt]=4,合并就是加起来= 阅读全文
posted @ 2024-07-20 14:46 liyishui 阅读(180) 评论(0) 推荐(0) 编辑
摘要:A.给定n*m的矩阵a,构造一个同样大小的矩阵b使得[1,n*m]都出现一次,且b和a在任意位置上都不相等。 特判完无解后循环移位即可。 #include<bits/stdc++.h> using namespace std; int a[12][12]; void solve(){ int n,m 阅读全文
posted @ 2024-07-20 11:14 liyishui 阅读(12) 评论(0) 推荐(0) 编辑
摘要:A 简单的组合数学。考虑枚举为1的个数的长度为x,则其他数除了最后一位的0外都可以乱填。 对于末尾为1的数,显然每一位都是独立的,单独考虑每一位。 显然只要该位上有一个0即可,经典容斥:减去全为1的这一种情况。 #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2024-07-18 11:04 liyishui 阅读(95) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示