WDgaster
WDgaster
全部文章
题解
归档
标签
去牛客网
登录
/
注册
WDgaster的博客
全部文章
/ 题解
(共10篇)
题解 | #对弈#
暴力模拟过程即可,建议判断是否形成5个时走dfs计数,当发现斜角或直线有5个后直接结束输入 代码 int al[1001][1001],n,m; bool check(int x,int y,int z){ int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0; f...
模拟
2022-04-21
0
529
题解 | #黑白棋#
按照题目要求暴力模拟即可 参考代码 #include<bits/stdc++.h> using namespace std; int v[11][11]; int d[8][2]={1,0,-1,0,1,1,1,-1,0,1,0,-1,-1,-1,-1,1}; bool slove(in...
模拟
2022-03-28
0
419
题解 | #暴力出奇迹#
暴力枚举最高位,将其分成数个子序列,各个子序列分别计算最大值 代码 void solve(){ int n; cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; ll ans...
贪心
位运算
2022-03-21
0
473
题解 | #石子合并#
每次选取最大的石子堆与其他堆合并,显然留下的是最大的一堆,结果也一定是最大的*n-1+其他全部和 注意不要越界 代码 void solve() { ll a,b,ma=0,su=0; cin>>a; for(int i=0;i<a;i++) { ...
贪心
数学
2022-03-14
1
337
题解 | #哥三好#
可以简单的发现当三人处于a<300,b<300,c<300时,无法继续运行,只能返回1; 当只有一人在>=300&&<450时,同样只能有一个,也是返回1; 进行暴力枚举,可以得到一个有效的结果 代码 int dfs(int a, int b, int ...
dp
记忆化搜索
2022-03-14
0
334
题解 | #保卫家园#
参考文章:https://blog.csdn.net/qq_41286356/article/details/106892022 问题等价:从集合中选取若干个区间集合,每个区间中相互覆盖重叠的区间个数不超过k个,问最多能选取多少个区间; 贪心思路: 1、枚举区间的起点,每次维护一个大小为k的集合,集...
贪心
2022-03-14
0
496
题解 | #消灭星星#
看到M<=10就应该很清楚的发现,暴力枚举合法的可以删除的字符即可。 通过预处理,我们可以知道每一个*被消除需要几种字符,代入合法的字符,若可行,直接输出yes 若枚举的全部情况都不行,直接输出no 复杂度为O(Tn2^m)可以通过
状压dp
搜索
枚举
2022-03-12
0
407
题解 | #挪酒瓶#
结论1,对于一个没有重复数字的序列,以这个索引和这个索引所在的位置连边,形成的图一定是环(这里自环也算是环)。 结论2,对于这个环而言,设这个环大小为n,一定可以通过n-1次交换使得这个环变成有序的序列。 结论3,对于这个环而言,可以实现除一个元素外其他元素进行1次交换,这个元素进行n-1次交换使得...
贪心
2022-03-12
1
392
题解 | #鹏#
当ai<ai+1时,进入上升状态,进行标记 当ai>ai+1时,进入下降状态,若标记,计数+1,并清除标记 模拟此过程即可 代码 #include <iostream> #include <algorithm> #include <list> //#i...
模拟
2022-03-08
0
508
题解 | #斑羚飞渡#
对于任意两个斑羚而言,如果它们都可以单独越过,可以确定这两个斑羚的最大贡献是二,如果一个可以单独越过,可以确定这两个斑羚的最大贡献是一,如果两个都不能单独越过,那么如果可以贡献1的价值,一定是一只通过另一只实现飞过,那么为了确保可以踩,一定是在一只斑羚跳到了最大值时踩,为了确保可以踩过,一定是y更大...
贪心
数学
2022-03-08
0
401