04 2023 档案

摘要:## 题目 - [B. Greg and Graph](https://codeforces.com/contest/295/problem/B) ## 题意 - 输入 n(1≤n≤500) 表示 n 个点的有向完全图,然后输入 n*n 的邻接矩阵 a,其中 a[i][j] 表示 i 到 j 的边权 阅读全文
posted @ 2023-04-27 21:40 俄罗斯刺沙蓬 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目 D. Remove One Element 题意 输入 n(2≤n≤2e5) 和长为 n 的数组 a(1≤a[i]≤1e9)。 从 a 中去掉一个数(也可以不去掉)。 输出 a 的最长严格递增连续子数组的长度。 思路 一种方法是前缀最长和后缀最长,加起来。这种方法比较简单。 用状态机来写,定义 阅读全文
posted @ 2023-04-25 19:47 俄罗斯刺沙蓬 阅读(31) 评论(0) 推荐(0) 编辑
摘要:题目 B. Tree Tag 题意 思路 因为这是一颗树,所以不管怎么追逐,我们都可以理解为在同一条路上追逐(去掉我们不走的路,就是一个线段) 首先,如果da > db,显然能追上,进一步,da == db时,因为路径的长度是有限的,也显然可以追上 因为树上任意两点的最短路径是固定的,所以a点可以一 阅读全文
posted @ 2023-04-20 21:13 俄罗斯刺沙蓬 阅读(20) 评论(0) 推荐(0) 编辑
摘要:什么是图? 把图在计算机中表示(储存) 拓扑排序 度 与一个顶点 v 关联的边的条数称作该顶点的 度 (degree) 在有向图 G = (V, E) 中,以一个顶点 v 为起点的边的条数称为该顶点的 出度 (out-degree), 以一个顶点 v 为终点的边的条数称为该节点的 入度 (in-de 阅读全文
posted @ 2023-04-17 21:19 俄罗斯刺沙蓬 阅读(107) 评论(0) 推荐(0) 编辑
摘要:题目 Codeforces Round 866 (Div. 2)D. The Butcher 题意 n个数对a,b,表示矩形 这n个矩形通过原先一个大矩形分割而来 每次分割只在上一次分割的矩阵其中之一 现在原先的矩阵大小未知,问有原先的矩阵(在切割过程中不会旋转矩阵)多少种,并输出 保证至少存在一种 阅读全文
posted @ 2023-04-17 16:12 俄罗斯刺沙蓬 阅读(51) 评论(0) 推荐(0) 编辑
摘要:题目 D. Program 题意 给一个长度为n的‘+’,‘-’序列,表示+1和-1 在给m个查询,问忽略[l,r]之间的序列,能走到多少个不同的数字 思路 分为前后缀计算,前缀计算比较简单关键是后缀计算 后缀上,需要关注能够到达的最小值和最大值 定义sufL[i]和sufR[i]分别表示为到达的最 阅读全文
posted @ 2023-04-13 11:45 俄罗斯刺沙蓬 阅读(106) 评论(0) 推荐(0) 编辑
摘要:#include<bits/stdc++.h> #define debug1(a) cout<<#a<<'='<< a << endl; #define debug2(a,b) cout<<#a<<" = "<<a<<" "<<#b<<" = "<<b<<endl; #define debug3(a 阅读全文
posted @ 2023-04-06 15:35 俄罗斯刺沙蓬 阅读(19) 评论(0) 推荐(0) 编辑
摘要:https://atcoder.jp/contests/arc116/tasks/arc116_d #include<bits/stdc++.h> #define debug1(a) cout<<#a<<'='<< a << endl; #define debug2(a,b) cout<<#a<<" 阅读全文
posted @ 2023-04-06 15:35 俄罗斯刺沙蓬 阅读(13) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/contest/1766/problem/D 题意找到连续的最长gcd(a+k,b+k) == 1(a < b,k = {0,1,2,...}) 思路: gcd(a+k,b+k) == gcd(a+k,b - a) a - b = 1时特判 可以推出gc 阅读全文
posted @ 2023-04-06 15:34 俄罗斯刺沙蓬 阅读(32) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/contest/1762/problem/D 给一个长度为n的permutation,每次一个询问,得到结果为gcd(i,j),请在2*n次之内找到那个是0(或者哪两个之中之一是0) 思路 三个指针i,j,k(i<j<k) 令x=gcd(a[i],a[j 阅读全文
posted @ 2023-04-06 15:34 俄罗斯刺沙蓬 阅读(15) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/problemset/problem/1765/D 观察找规律 最大的和二分最小的,然后交替相邻,看是否合法 找到最长的合法段 答案就是总长度减去合法段加上原先的长度 #include<bits/stdc++.h> #define debug1(a) c 阅读全文
posted @ 2023-04-06 15:34 俄罗斯刺沙蓬 阅读(69) 评论(0) 推荐(0) 编辑
摘要:https://atcoder.jp/contests/arc132/tasks/arc132_c 很难想到的动态规划,优化空间的思路非常巧妙 用相对位置来转移 f[i][j]表示i之前,放置数字的压缩情况为j,的所有方案数 ** f[i+1][(j | (1 << k)) >> 1] += f[i 阅读全文
posted @ 2023-04-06 15:33 俄罗斯刺沙蓬 阅读(32) 评论(0) 推荐(1) 编辑
摘要:https://atcoder.jp/contests/abc259/tasks/abc259_f 树形dp(最简单的那种类型,但是题目的方法还是很巧妙的) 易知:负权边可以忽略 思路 定义 定义f[i][0]表示以i为根的子树尽量用到d[i]-1条边的最大可能(留一条边给父节点联通用) f[i][ 阅读全文
posted @ 2023-04-06 15:32 俄罗斯刺沙蓬 阅读(16) 评论(0) 推荐(0) 编辑
摘要:https://atcoder.jp/contests/arc120/tasks/arc120_c 势能就是i + a[i],很有用的结论 对于能完成交换,从A变成B,势能数组一定相同 找出最小交换次数,贪心的方案是:最近的先交换 找到最近的在可以用数组数组和set实现 具体细节见代码 #inclu 阅读全文
posted @ 2023-04-06 15:31 俄罗斯刺沙蓬 阅读(21) 评论(0) 推荐(0) 编辑
摘要:题目 1811E - Living Sequence 题意 找出第n个,数位中不含‘4’的数字 思路 数位dp + 二分 唯一要注意的就是纯dfs搜索会卡常(hh,就是复杂度太高了),用上一点记忆化 代码 const int N = 14; int dp[N][N]; int a[N]; int l 阅读全文
posted @ 2023-04-05 21:07 俄罗斯刺沙蓬 阅读(23) 评论(0) 推荐(0) 编辑
摘要:题目 D - Umka and a Long Flight 题意 给一个整数n(1 <= n && n <= 44) 再给衣柜坐标x,y,从1开始,表示在一个长为f(n+1),宽为f(n)的长方形里的某一个1*1的小正方形 长为f(n+1),宽为f(n)的长方形,由两个1*1的正方形拼成,然后由2 阅读全文
posted @ 2023-04-05 21:02 俄罗斯刺沙蓬 阅读(39) 评论(0) 推荐(0) 编辑
摘要:题目 C. Binary Search 题意 给一个数字n,构造出一个全排列的数组a,满足上面二分结果为true 请求出不同全排列数组a的数量,答案模1e9+7 思路 模拟:按照二叉查找树的思路,模拟这个二分所有可能遇到的mid,使得判断条件成立(为什么落在最后的点上?因为是折半查找,搜索树上没有重 阅读全文
posted @ 2023-04-05 20:51 俄罗斯刺沙蓬 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目 https://codeforces.com/contest/1808/problem/C 题意 给两个数 l 和 r (1lr1018) 请找出再这个范围内的一个数字,使得按数位这个数字中的数最大值和最小值之差最小 思路 当 l 和 r 的数位长度不一样时,可 阅读全文
posted @ 2023-04-03 13:57 俄罗斯刺沙蓬 阅读(44) 评论(0) 推荐(0) 编辑
摘要:题意 给两个整数n,m(1 ~ 1e12) 找到两个1 ~ n之内的数字,它的大于等于m并且最小 思路 代码 void solve() { int n, m; cin >> n >> m; int ans = 9e18; int limit = sqrtl(m); while((limit - 1) 阅读全文
posted @ 2023-04-02 15:13 俄罗斯刺沙蓬 阅读(80) 评论(0) 推荐(0) 编辑

返回顶端
点击右上角即可分享
微信分享提示