1、I-A+B问题

  • 模拟,类似于高精度,竖式运算
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int k;  cin>>k;string a, b;  cin>>a>>b;int len1 = a.size(), len2 = b.size();vector<int>x;int c = 0;for(int i = 0; i<len1||i<len2; i++){if(i<len1)c+=a[len1-i-1]-'0';if(i<len2)c+=b[len2-i-1]-'0';x.push_back(c%k);c /= k;}if(c)x.push_back(1);for(int i = x.size()-1; i >= 0; i--)cout<<x[i];return 0;
}

2、F +-串

  • 一次操作让|x|加2或减2,先枚举一遍得到初始值,然后贪心的>0就-2,小于零就+2,最后的x绝对值就是结果
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main(){int T;  cin>>T;while(T--){int x = 0, k;string s;  cin>>s>>k;for(char ch : s){if(ch=='+')x++;else x--;}for(int i = 1; i <= k; i++){if(x>=0)x-=2;else x+=2;}cout<<abs(x)<<"\n";}return 0;
}

3、D-删除子序列

  • 先求T的第一个字母在S的前i个字母中出现了多少次,再此基础上再求T的第二个字母在S的前i个字母中出现了多少次(始终要小于第一个字母的出现次数),最后到第m个字母就是答案。
  • 注意到T的范围很小,只有30,所以直接暴力双循环就可以过,枚举S的每个字符,然后去T中find,开个数字记录一下T的第i个字母出现的次数。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int f[30];
int main(){int T;  cin>>T;while(T--){int n, m;  cin>>n>>m;string s, t;  cin>>s>>t;memset(f,0,sizeof(f));for(int i = 0; i < n; i++){int x = t.find(s[i]);if(x>=0)f[x]++;if(x>0&&f[x]>f[x-1])f[x]=f[x-1];}cout<<f[m-1]<<"\n";}return 0;
}

4、E-骑士

  • 所有骑士不被秒,即对于任意一名骑士j,有hj+bj+药剂数>ai(除自己之外最大的ai)
  • 需要找到ai最大的那个骑士,他需要的药剂数取决于第二大的ai,其余所有骑士需要的都取决于ai,即为最大ai-(bj+hj)+1
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 2e5+10;
struct node{LL a, b, h;}q[maxn];
bool cmp(node x, node y){return x.a>y.a;}
int main(){int T;  cin>>T;while(T--){int n;  cin>>n;for(int i = 1; i <= n; i++)cin>>q[i].a>>q[i].b>>q[i].h;sort(q+1,q+n+1,cmp);LL ans = q[2].a-q[1].b-q[1].h+1;if(ans < 0)ans = 0;for(int i = 2; i <= n; i++){LL tmp = q[1].a-q[i].b-q[i].h+1;if(tmp>0)ans += tmp;}cout<<ans<<"\n";}return 0;
}

5、B-价值序列

  • 题意等价于,删掉几个数,让序列的价值保持不变,求可以删的方案数量。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 1e6+10, mod = 998244353;
int pows[maxn];
void init(){pows[0]=1;for(int i=1; i<=10000; i++)pows[i]=pows[i-1]*2%mod;}
LL a[maxn];
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);init();int T;  cin>>T;while(T--){LL n;  cin>>n;for(int i = 1; i <= n; i++)cin>>a[i];LL ans = 1;for(int i = 1; i <= n; i++){int j = i;while(j<n && a[j+1]==a[j])j++;if(i>1&&j<n && ((a[i-1]<a[i]&&a[i]<a[j+1])||(a[i]<a[i-1]&&a[i]>a[j+1]))){ans = ans*pows[j-i+1]%mod;}else{ans = ans*(pows[j-i+1]-1)%mod;}i = j;}cout<<ans<<"\n";}return 0;
}

附签到题总结

  • 2022牛客寒假算法基础集训营4
    题号 标题 已通过代码 通过率 我的状态
    A R 点击查看 1569/3702 通过(贪心,遍历)
    B 进制 点击查看 592/2271 未通过
    C 蓝彗星 点击查看 1881/5874 通过(区间状态,差分前缀和)
    D 雪色光晕 点击查看 1016/3846 未通过
    E 真假签到题 点击查看 2852/5744 通过(签到,结论)
    F 小红的记谱法 点击查看 1891/2231 通过(模拟,遍历)
    G 子序列权值乘积 点击查看 790/2316 未通过
    H 真真真真真签到题 点击查看 2840/3120 通过(签到,结论)
    I 爆炸的符卡洋洋洒洒 点击查看 1501/3948 通过(01背包变种)
    J 区间合数的最小公倍数 点击查看 1298/2198 未通过
    K 小红的真真假假签到题题 点击查看 2263/5836 通过(签到,结论)
    L 在这冷漠的世界里光光哭哭 点击查看 148/533 未通过

  • 2022牛客寒假算法基础集训营5
    题号 标题 已通过代码 通过率 我的状态
    A 疫苗小孩 点击查看 1125/5166 通过(贪心,二分,贡献)
    B 乒乓小孩 点击查看 61/663 未通过
    C 战棋小孩 点击查看 579/1991 未通过
    D 数位小孩 点击查看 991/2773 通过(结论,暴力,搜索)
    E 复苏小孩 点击查看 320/826 未通过
    F 飞车小孩 点击查看 101/471 未通过
    G 163小孩 点击查看 2050/8779 通过(签到,结论)
    H 一六三小孩 点击查看 19/75 未通过
    I 兔崽小孩 点击查看 1801/9676 通过(排序,贪心,二分,贡献)
    J 三国小孩 点击查看 2576/3655 通过(签到,结论)
    K 造梦小孩 点击查看 179/796 未通过

  • 2022牛客寒假算法基础集训营6
    题号 标题 已通过代码 通过率 我的状态
    A 回文大师 点击查看 256/905 未通过
    B 价值序列 点击查看 880/3660 通过(贪心,结论,贡献)
    C 数组划分 点击查看 82/349 未通过
    D 删除子序列 点击查看 1478/5040 通过(递推,暴力)
    E 骑士 点击查看 1865/4549 通过(贪心,排序)
    F ±串 点击查看 2034/4194 通过(签到,贪心)
    G 迷宫2 点击查看 361/1315 未通过
    H 寒冬信使2 点击查看 470/1446 未通过
    I A+B问题 点击查看 2195/5133 通过(签到,模拟,高精度)
    J 牛妹的数学难题 点击查看 610/2125 未通过

2022牛客寒假算法基础集训营6 签到题5题(附基础集训营4-6签到题总结)相关推荐

  1. 2022牛客寒假算法基础集训营3 签到题7题(附基础集训营1-3签到题总结)

    1.A-智乃的Hello XXXX 签到 #include<bits/stdc++.h> using namespace std; int main(){cout<<" ...

  2. 2022牛客寒假算法基础集训营

    2022牛客寒假算法基础集训营1 C-Baby's first attempt on CPU D-牛牛做数论 已知欧拉函数 ϕ ( x ) \phi(x) ϕ(x)是满足 1 ≤ y ≤ x 1\le ...

  3. 2022牛客寒假算法基础集训营1 L E J H F C D A I (9/13)

    2022牛客寒假算法基础集训营1 L E J H F C D A I (9/13) L 牛牛学走路 思路: 模拟,用一个 M A X MAX MAX存储. 参考代码: #include<bits ...

  4. 2022牛客寒假算法基础集训营1 ——H 牛牛看云

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 就像罗夏墨迹测试一样,同一片形状的云在不同人的眼中会看起来像各种各样不同的东西. 例如,现在天上飘过了一片长条状的云彩,hina说这片云长得 ...

  5. 2022牛客寒假算法基础集训营4 签到题7题

    1.E-真假签到题 不难发现,或者随便枚举一下,可以得到f(n)=n的结论 #include<bits/stdc++.h> typedef long long LL; using name ...

  6. 2022牛客寒假算法基础集训营2 签到题7题

    1.C 小沙的杀球 如果你能够杀球但不杀球,虽然回复了体力,但你后续可能会没有机会继续杀球,并且杀球次数相同,那么回复的体力是相同的,所以在同等条件下,我们应该尽可能多的杀球. 不开long long ...

  7. 2022牛客寒假算法基础集训营1 签到题7题

    1.L.牛牛学走路 恭喜你 签到成功 #include<bits/stdc++.h> using namespace std; int main(){int T; cin>>T ...

  8. [nk] 2022牛客寒假算法基础集训营1 补题|题解

    目录 前言 L.牛牛学走路 MyCode OtherCode J.小朋友做游戏 MyCode A.九小时九个人九扇门 MyCode F. 中位数切分 MyCode 前言 根据难度系数补题,大概会补 A ...

  9. 2022牛客寒假算法基础集训营5 E.复苏小孩 详解

    题目描述 获得鬼手后,九峰成功让鬼眼,无头鬼影,鬼手三者形成了奇妙的平衡,短时间内不用担心厉鬼复苏,且可以使用厉鬼的力量. 但想要让三者保持平衡,必须按照一定的规律轮流使用各部分的力量,于是九峰向神秘 ...

最新文章

  1. C++ 笔记(24)— STL map 类(map实例化、插入、查找、删除)
  2. Go 语言调用 python2
  3. 索尼笔记本bios如何设置VT-x/AMD-V兼容
  4. 数据结构和算法(01)--- 算法复杂度
  5. 菜鸟网络宣布推出物流加速上云行动“鲲鹏计划”
  6. StringBuffer和StringBuild
  7. Tomcat启动报Error listenerStart错误
  8. 【XCTF 攻防世界 web 练习详解系列(二)】【get_post的两种解法】
  9. Redmi王腾:Redmi 10X还会带来全新滤镜
  10. python执行过程
  11. 计算机网络安全重要性
  12. 基于CompactRIO的嵌入式车载电性能测试系统研发
  13. 自己动手开发多线程异步 MQL5 WEBREQUEST
  14. Android中手机号、车牌号正则表达式
  15. 猫、路由器、带宽、IP地址、子网掩码、网关以及公网与私网简介
  16. Excel 2016图表标题不能输入中文,图表一直闪动
  17. 画一手好的架构图是码农进阶的开始
  18. 不管你怎么赶,人生中总有抓不住的,享受当下吧
  19. 对于数据挖掘的几点认识[转]
  20. 听见丨特斯拉电动卡车售价公布:100万元起 朱啸虎:ofo和摩拜会合并 但还要再经历一战

热门文章

  1. Python typing —— 类型提示(type hint)
  2. numpy 代码优化(一)—— 常见手段
  3. 极简代码(六)—— 返回 0/1 构成的布尔向量
  4. 负数的移位、有符号数的移位转换为无符号数的移位
  5. 谷歌浏览器(chrome) —— 扩展应用程序
  6. Python 基础—— collections 模块
  7. redhat5.4 安装mysql_RedHat5.4搭建LAMP
  8. 自学python推荐书-学习python求推荐一波书籍?
  9. 如何系统的自学python-自学Python应该如何正确系统学习,避免少走弯路
  10. python教程视频-Python基础视频教程(600集)【传智播客精品教程】