【牛客训练记录】牛客2025年情人节比赛

news/2025/2/19 13:28:04/文章来源:https://www.cnblogs.com/longxingx/p/18716336

训练情况

赛后反思

今年比赛比去年有意思多了,太搞笑了

A题

我们构造一对就可以了,和为 \(x\),直接扔上去 \(1\)\(x-1\) 即可

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;void solve(){int x; cin>>x;cout<<1<<endl;cout<<1<<" "<<x-1<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

B题

好抽象的题,SHA-256加密后奇偶性和输出一样,我随便输了个 1,一看还对上了,就直接交了

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;void solve(){cout<<"1";
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

D题

这题能hack掉的点在于map<int,int>,里面sum可能会超过int,所以我们int溢出刚好为零的情况,4294967296 这个数刚好溢出为 0,我们直接让sum出现溢出为 0 的情况即可 WA 了

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;int a[10000] = {2,3,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,38,39,40,46};void solve(){map<int,int> v;for(int i = 0;i<34;i++) v[a[i]] = 1;cout<<49<<endl;for(int i = 1;i<=49;i++){if(v[i]){cout<<6<<endl;cout<<(int)1e9<<" ";cout<<(int)1e9<<" ";cout<<(int)1e9<<" ";cout<<(int)1e9<<" ";cout<<(int)294967296<<" ";cout<<0<<" ";cout<<endl;} else {cout<<1<<endl;cout<<1<<endl;}}
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

E题

太经典了,数组开小了,我们直接数据压满查询即可爆 RE

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;int a[10000] = {2,3,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,38,39,40,46};void solve(){map<int,int> v;for(int i = 0;i<34;i++) v[a[i]] = 1;cout<<49<<endl;for(int i = 1;i<=49;i++){if(v[i]){cout<<2e4<<" "<<1<<" "<<2e4<<endl;for(int j = 1;j<=2e4;j++) cout<<1<<" ";cout<<endl;} else {cout<<1<<" "<<1<<" "<<1<<endl;cout<<1<<endl;}}
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

F题

好一个暴力求和,我们直接数据压满就超时了

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;int a[10000] = {2,3,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,38,39,40,46};void solve(){map<int,int> v;for(int i = 0;i<34;i++) v[a[i]] = 1;cout<<49<<endl;for(int i = 1;i<=49;i++){if(v[i]){cout<<1e4<<" "<<1e4<<endl;for(int j = 1;j<=1e4;j++) cout<<1<<" ";cout<<endl;for(int j = 1;j<=1e4;j++) cout<<1<<" "<<1e4<<endl;cout<<endl;} else {cout<<1<<" "<<1<<endl;cout<<1<<endl;cout<<1<<" "<<1<<endl;}}
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

G题

盲猜了一个这题加密用了hash,由于秘钥范围有限,直接枚举ka和kb,去找能和答案匹配的,我们发现 ka = 5,kb = 6的时候能对上,直接hash输出就行

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;void solve(){string s; cin>>s;int ka = 5;int kb = 6;for(int i = 0;i<s.size();i++){if(s[i] >= 'a' && s[i] <= 'z'){cout<<(char)(((s[i]-'a')*ka+kb)%26+'a');} else {cout<<(char)(((s[i]-'A')*ka+kb)%26+'A');}}
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

H题

翻阅日历可知,2027情人节是周日

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;void solve(){cout<<"2027";
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

K题

题目暗示了低头看键盘,我们直接面向样例编程,我们发现给出的字母答案就是它周围的字母,我们直接大力分类讨论即可

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;void solve(){string s; cin>>s;if(s == "A") cout<<"QWSZ";else if(s == "B") cout<<"VGHN";else if(s == "C") cout<<"XDFV";else if(s == "D") cout<<"REFSXC";else if(s == "E") cout<<"WSDR";else if(s == "F") cout<<"RTDGCV";else if(s == "G") cout<<"TYFHVB";else if(s == "H") cout<<"YUGJBN";else if(s == "I") cout<<"UJKO";else if(s == "J") cout<<"UIHKNM";else if(s == "K") cout<<"IOJLM";else if(s == "L") cout<<"POK";else if(s == "M") cout<<"NJK";else if(s == "N") cout<<"BHJM";else if(s == "O") cout<<"IKLP";else if(s == "P") cout<<"OL";else if(s == "Q") cout<<"WA";else if(s == "R") cout<<"EDFT";else if(s == "S") cout<<"WEADZX";else if(s == "T") cout<<"RFGY";else if(s == "U") cout<<"YHJI";else if(s == "V") cout<<"CFGB";else if(s == "W") cout<<"QASE";else if(s == "X") cout<<"ZSDC";else if(s == "Y") cout<<"TGHU";else if(s == "Z") cout<<"ASX";
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/883979.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PVE8.3.1 直通硬盘

直通可以分为全盘直通和硬件直通,硬件直通会将整个 SATA 控制器直通给虚拟机,这可能会导致所有硬盘都分配给了一个虚拟机,这里介绍全盘直通。 1,查看硬盘IDls /dev/disk/by-id如上图ata 开头的设备就表示 sata 硬盘2,硬盘直通qm set 虚拟机id -sata0 /dev/disk/by-id/ata…

CTFCryto01-URL编码

URL编码URL编码,也称为百分号编码,是一种用于在URL(统一资源定位符)中传输特殊字符的编码方式 当 URL 路径或者查询参数中,带有中文或者特殊字符的时候,就需要对 URL 进行编码(采用十六进制编码格式)。URL 编码的原则是使用安全字符去表示那些不安全的字符 安全字符:指…

Qt基于QWidget打造网速小部件SpeedMeterWidget

目标基于QWidget自定义网速小部件 支持设置上行和下行方向 支持自定义设置网速显示数值和单位 支持动态设置上行和下行颜色效果图控件完整代码 SpeedMeterWidget.h #pragma once#include <QWidget> #include <QPainter> class QPaintEvent;/// /// @brief: 速度仪…

Qt基于QWidget实现倒计时控件CircleCountDownBar

目标基于Qwidget实现圆弧倒计时 可自定义圆弧内部显示的文字 可设定当前圆弧的进度效果图完整控件代码 CircleCountDownBar.h #pragma once#include <QWidget> class QPaiter; class QPaintEvent;class CircleCountDownBar : public QWidget {Q_OBJECTpublic:CircleCount…

初学者的量化 “利器”,哪种策略才是你的菜?

初学者量化投资别迷茫!中低频策略为何优选?快来解锁适合拟的量化“利器”策略更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流。 写在前面 这篇文章专为量化投资领域的小白精心打造,量化大神们请自动略过哦。 本文将从中低频交易方…

Qt实现速度仪表盘GaugeSpeedWidget

目标基于QWidget绘制速度仪表盘, 仪表盘颜色为渐变色, 可指定当前显示的文字内容和文字颜色 可指定当前指针旋转的数值效果图控件完整代码 GaugeSpeedWidget.h #pragma once#include <QWidget> #include <QMap>class QPaintEvent; class QPainter;/// /// @brie…

pcie报文

PCIE的四种请求memory、IO的地址编码posted、no-postedTLP包类型缩写MRD举例TLP包格式TLP HEADTLP HEAD byte0memory操作

P1107 [BJWC2008] 雷涛的小猫

链接 https://www.luogu.com.cn/problem/P1107 题目思路因为在取h+delta的max时会一直遍历,所以直接加个记忆,就不用一直遍历了。 代码 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<algorithm> #include<queue> #include<cmath> #in…

PVE8.3.1开启核显虚拟化SR-IOV

本来想集成到前面的文章,但是被网上一些文章误导从而浪费了3H之后决定还是单开一篇专门说说PVE8.3.1开启核显虚拟化的过程。所以建议大家还是参考更有价值的唯一的官方指南 https://github.com/strongtz/i915-sriov-dkms 交代一下背景: 发文日期2025年2月14日,以下所有操作均…

【C】单链表

单链表 声明一个指向自身的结构体 struct Test {int x;int y;struct Test test; };输出结果: error!程序报错,因为这样会造成无限的循环。当编译器解析到struct Test test时test是结构体Test的成员,定义test成员需要Test,而结构体Test自身又是不完整的,那么程序就无法定义一…

所有Ollama用户请注意!!!你的IP可能已泄露

刚刚学到一项非常硬核的“黑”科技,只要几个关键词,就能实现 Ollama 自由。全世界几万台高性能带显卡的电脑供你使用。 添加图片注释,不超过 140 字(可选)看看这个页面,美国,中国,德国,英国....一个独立 IP 背后就是一台电脑,有些可能还是服务器。我实测了,随便找一…