- 博客(37)
- 收藏
- 关注
原创 lanqiaoOJ 3291 区间更新
/结果应该都是对的,但是运行超时,可能是由于在下方的while循环中嵌套了for循环导致的,增加了时间复杂度为 O(m*n). 对其进行优化,将其改为O(m+n).//进行完m个操作后,汇总好后,在对a[i]进行还原,之前在d[N]中,所做的操作并不会消失,这样的做法不会导致结果的大小发生变化,区别在于中间的过程而不是结果的值.//改变了a[x]到a[y]区间内数的大小,整个区间上,(y-x+1)个数全部都增加了z,最后再还原回去。//这道题的难点在于,不知道测试的组数,即有多少组样例。
2025-04-11 22:02:04
244
原创 lanqiaoOJ 2095 九进制转十进制
int a[N];int n=4;i<=3;i++){ll x=0;i<=3;i++){x=x*9+a[i];cout<<x;return 0;
2025-04-11 17:58:58
143
原创 lanqiaoOJ 498 回文日期
/对于一个数字,如果没有数位的保障,当数字为各位数如月份中的9,应该用09来表示,那么在从整数转字符串的过程中, 就会导致字符串中的字符个数减少。//这道题目不要担心,会不会在ABABBABA型的回文日期出现之前,并没有普通的回文日期,//6.判断字符串是否为ABABBABA型回文的函数。//1.从string转换为指定位数int的函数。//2.从int转换为指定位数string的函数。//5.判断字符串是否为回文日期的函数。//4.判断日期是否合法的函数。//3.判断是否为闰年的函数。
2025-04-10 19:06:51
691
原创 lanqiaoOJ 551 灌溉
/b[i][j]也要设置为1,否则马上更新了之后a[i][j]就变成了0,即a[i][j]周围都被灌溉,就自己还没有灌溉,导致。//用两个二维数组分别记录当前和后一分钟灌溉情况,持续按照题意更新数组。//在某一分钟内,所以的水管都发挥浇灌作用后,在进行整体的更新。
2025-04-10 19:05:00
594
原创 lanqiaoOJ 549 扫雷
/因为这里采用a[N][N]数组来更新,所以不用再这前面又重新 i从(1,n), j从(1,m)了,这样把运行时间从14ms缩短到了3ms。//在这里就可以同步更新dp[N][N]中没有地雷的地方,不会因为第i行以下或第j+1列以后,其中有地雷的地方没有更新完全而导致存在问题。//不能耍小聪明,认为在这里打印代码会更优雅,有地雷的地方被continue了,导致输出打印时会缺少有地雷的地方。//这道题目需要两个数组,一个用来记录刚开始时哪些位置有地雷,
2025-04-09 19:11:42
323
原创 lanqiaoOJ 3227 找到最多的数
/把矩阵中的数字的出现次数边输入边统计,通过mp进行存放,有一点桶排序的思想,剩下的关键就在于怎么把数字取出来。//这里的方法非常巧妙,通过for循环,类型是auto的方式来获取x的出现次数。即,数字出现的次数超过矩阵数的一半。
2025-04-08 20:07:00
362
原创 lanqiaoOJ 191 特别数的和
while(x){int s=x%10;x/=10;int n;cin>>n;int ans=0;i<=n;i++){if(f(i)){ans+=i;return 0;
2025-04-08 19:48:04
153
原创 lanqiaoOJ 1531 快递分拣
int n;cin>>n;i<=n;i++){string s,p;cin>>s>>p;if(!return 0;
2025-04-08 19:38:19
99
原创 lanqiaoOJ 497 成绩分析
int a[N];int sum;int n;cin>>n;i<=n;i++){cin>>a[i];sum+=a[i];i<=n;i++){return 0;
2025-04-07 19:27:49
109
原创 lanqiaoOJ 1265 排序
int a[N];int n;cin>>n;i<=n;i++){cin>>a[i];i<=n;i++){cout<<endl;i>=1;i--){cout<<endl;return 0;
2025-04-07 19:11:19
89
原创 lanqiao 3404 肖恩的乘法表
/这里的check()函数的作用是,判断一个数在这个矩阵中的大小地位。//通过去小,来计算每行小于mid的元素个数。
2025-03-27 20:22:36
124
原创 lanqiao 2047 斤斤计较的小Z
/这里有点类似于用几进制来表示数一样,每个位置对于和的贡献是唯一且不可替代的。//通过比较hash值来判断s1字符串在s2字符串中是否出现。
2025-03-27 19:58:00
6
原创 蓝桥OJ245 数正方形
/最恶心人的莫过于 :N (2≤N≤1e6),只有当我把他定义为long long 的时候,检测样例才能完全通过。如1*1 贡献为 1*(N-1)*(N-1),2*2 贡献为 2*(N-1-1)*(N-1-1)这里是原题里面的N,由于还要多思考一步,于是我让 N--;//N*N的点集,看作为(N-1)*(N-1)的矩阵。//这道题不要用点集来做,最好用边来解决。
2025-03-26 20:43:50
75
原创 蓝桥OJ1512 汉诺塔
int n,m;int cnt=0;if(N==1){cnt++;else{cnt++;cin>>n>>m;return 0;
2025-03-25 19:56:55
76
原创 蓝桥OJ20273 未来竞赛
int n,d;cin>>n>>d;int x;i<=n;i++){cin>>x;i<v.size();i++){return 0;
2025-03-23 12:29:47
120
原创 蓝桥OJ20271 蓝桥大使
int n;ll cha[N];ll sum=0;cin>>n;i<n;i++){i<n/2;i++){j<n;j++){return 0;
2025-03-23 12:29:01
146
原创 蓝桥OJ20270 蓝桥字符
string s;cin>>s;s=' '+s;ll ans=0;i<=t;i++){sum1[i]++;sum2[i]++;sum3[i]++;i<=t;i++){return 0;
2025-03-23 12:28:00
168
原创 蓝桥OJ46292 冶炼金属
/注意由于这道题有两个二分,不可以仅仅修改l和r的取值,而且当l=mid时,让mid=(l+r+1)/2,否则将导致死循环,不出结果.//这就是为什么输入用例分开打印时,最小值20出来了,而最大值不输出打印的原因。//先求转换率最小值,即右轴的最左点>=//再求转换率最大值,即左轴的最右点<=
2025-03-22 11:20:08
344
原创 蓝桥OJ3685 肖恩的n次根
/在实数二分中,会存在精度误差,这无法避免,因此在大部分的题目中,并不会以实数作为答案比对。//不是把a进行开b次根号,而是将一个数的b次方与a的值进行比较。//进行强制类型转换,并且可以保留整数。//这是一个单调增的函数,计算一个数的b次方。
2025-03-21 21:22:44
99
原创 蓝桥OJ3197 方格染色
/这里是最恶心的,必须要先乘以6之后,再取余.否则绝大部分样例都过不了。//答案的值为:6*(2的n次方+2的m次方)-24。
2025-03-21 19:35:32
387
原创 蓝桥 OJ 5391 拓扑排序计数
/首先进行排序,有n!然后从n个点中选择两个点出来,小的在前面,大的在后面,//这两个点可以选择连接,也可以选择不连,两种状态 2^C(n,2)//即当一个案例输入输出后,才提供下一组数据。//这道题的答案输出为在线而非离线。
2025-03-21 19:30:17
411
原创 蓝桥OJ389摆花
/第i种花占了多少个位置,目前总共摆了j盆,第i种花的数目一定小于ai且最多都用了第i种花,即(ai<=j)//dp[i][j]表示用到第i种花(可能现在最后一盆花并不是i)时,到第j个位置的总方案数。//要对dp[0][0]进行初始化,表示什么都不做的方案数有一种。//已经摆了几盆花,每朵花都有可能放在第一个位置。//每一种花都可能被用到。
2025-03-09 17:35:51
141
原创 蓝桥OJ3423安全序列
由于prefix[i-k-1]这里面有一种情况是不放桶,所以dp[i]不用加1,相当于只在第i个位置放桶*/当可以放桶时,即i-k-1>0时,相当于在prefix[i-k-1]的后面加了一个桶,对之前没有影响,/*这里先考虑当一个桶之前不能放桶时,总方案数prefix[i]为当前的位置加1,这里的1表示不放桶。这时prefix[i]是在以第(i-1)个桶为结尾的基础上,加上了以第(i)个桶为结尾的方案数,/*这里由于可以从第一个位置放桶或者一个桶都不放,导致这里比较难处理*/
2025-03-09 16:23:18
336
原创 蓝桥OJ3008特殊的三角形
/想要让三角型的边长以上升的趋势来进行第一次剪枝,st表示三角型的上一个边长。//这是深度优先搜索的题目,要留有出口,在这里完成一定的统计工作。//最后一次要满足两边之和大于第三边,这里up要稍微大一点点点点。//面积的最大范围来进行第二次剪枝。//第三次剪枝,确定边的范围。
2025-03-09 16:10:55
219
原创 蓝桥OJ3367破损的楼梯
/这里判断要是两个等号,否则就变成了赋值语句,broken[i]的值始终为1,使得for循环一直continue,导致dp[n]的结果就是0。//注意楼上可能也有坏的台阶,在这里要有一个判断,否则就变成斐波那契数列。
2025-03-09 16:05:05
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人