摘要: 给定X,求不小于X的整数,满足各个数位正好构成等差数列。 1<=X<=1E17 直接枚举首项和公差,找出所有可行的解,取最优值即可。 #include <bits/stdc++.h> using namespace std; #define int long long #define rep(i,a 阅读全文
posted @ 2024-03-12 21:57 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 有一款在线游戏,共有n名注册玩家,第i名玩家从第a[i]天开始上线,持续在线b[i]天。现在要统计在线人数为x[i]的天数,其中1<=x[i]<=n。 1<=n<=2E5; 1<=a[i],b[i]<=1E9; 先按差分更新,然后求前缀和还原,再遍历一次统计答案,时间复杂度O(n)。 #includ 阅读全文
posted @ 2024-03-12 21:14 chenfy27 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 需要烹饪n道菜,第i道菜耗时t[i],有两个相同的烤箱,一个烤箱同一时间只能烹饪同一道菜。求烹饪完所有菜所需的最短时间? 1<=n<=100, 1<=t[i]<=1000 01背包变形,需要选出部分菜用烤箱1,其他用烤箱2,两者的最大值为结果,取所有可能的结果的最小值,即为答案。这里dp[i]表示总 阅读全文
posted @ 2024-03-12 21:02 chenfy27 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 给定长度为n的两升序数组A[i]和B[i],其中A[i]<=A[i+1],B[i]<=B[i+1],并且0<=A[i]<=B[i]<=3000,找长度为n的数组C[i],满足A[i]<=C[i]<=B[i]。求满足该条件的C的个数,结果对998244353取余。 1<=n<=3000 设dp[i][ 阅读全文
posted @ 2024-03-12 20:56 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 有一个H行W列的矩阵,记n=H*W,每个格子分别有个[1,n]内的数字,对应1~n的一个排列。每次可以选择大小为(H-1)*(W-1)的子矩阵旋转180度。 给定初始状态,问20步以内是否可以将它还原为1~n的排列?如果可以,输出最小步数,否则输出-1。 3<=H,W<=8; 1<=a[i][j]< 阅读全文
posted @ 2024-03-12 15:21 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑