[CL-FOOL] CLOI 愚人赛的部分官方题解与小杂谈
小细节
谁会拿 Rank 奖励? 头图里有写哦.
发现没有,这里的问号是蓝色的,点进去可以进到彩蛋界面.
当然彩蛋界面也什么都没有,提交界面藏在下面的源码里.
那么交什么呢. CLOI 的文件里有一团垃圾,如下:
没后缀名,其实试试就知道是zip, 里面的.rar 其实是 txt 文档. 打开就能看到彩蛋了.
A.YRpylqjyrcNpmzjck
这个题还是很难懂的,但是题目里有个提示 a+2=c
,多试几遍就会发现题目里的文本统一右移两位貌似有点规律,因此有了下面这段代码:
#include<bits/stdc++.h>
using namespace std;
string x;
int main(){
cin>>x;
for(int i=0;i<=x.length()-1;++i){
x[i]+=2;
}
cout<<x;
}
翻译后的题目大概长这样:
标题
[Tr{nsl{tePro|lem
题目描述
Theres[Pro|lemNeedYouToTr{nsl{te.IfYouTr{nsl{teItSuccessfully.YouWillSee[ProperPro|lem\elow0
输入格式
TheresNoNeedToPutin0[ttention.IfTheInputIs[A.YouShould[lsoPrint[AInste{dOfH{lloWorld0
输出格式
JustH{veH{lloWorldTheseTenLetters0
这下看懂了
实际上,所有的未知字符也可以统一替换掉,出现这些未知字符的原因是右移两位后 z
超过了ASCLL范围,因此考虑按循环顺序替换一下,也就是 z -> b
,y -> a
等等(也就是把你看不懂的字符换掉),替换后彻底能看懂了:
标题
ATranslateProblem
题目描述
TheresAProblemNeedYouToTranslate.IfYouTranslateItSuccessfully.YouWillSeeAProperProblemBelow.
输入格式
TheresNoNeedToPutin.Attention,IfTheInputIsA?,YouShouldAlsoPrintA?InsteadOfHalloWorld.
输出格式
JustHaveHalloWorldTheseTenLetters.
所以这个题是让我们在输入问号的时候输出问号,否则HalloWorld .
ac代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
char a;
cin>>a;
if(a=='?'){
cout<<a;
}
else{
cout<<"HalloWorld";
}
}
B.Unbreakable Order
这个题还是挺板子的. 自己推一遍会发现,在同一个强连通分量里的节点全都是同一个数字. 因此我们考虑这个题应该用 Tarjan 缩点做. 那么我们要求的答案是什么呢. 可以发现不管按什么顺序执行操作,最终都相当于从源点一个一个推下来,而每个点的权值都比父节点大 \(1\). 因此实际上我们求的是缩点之后这个有向无环图的最大深度.
题目里告诉我们可能有森林,因此我们应该从这些树里选出一个深度最小的输出.
一个这道题的 Hack 数据:
0 0
C.Color
答案在你的 cmd 里.
D.大吴与是见
我们来推个式子.
设 \(a=x(y+z)=xy+xz,b=y(x+z)=xy+yz,c=z(x+y)=xz+yz\),那么有 \(sum=xy+yz+xz=\frac{a+b+c}{2}\),所以 \(xy=sum=c,yz=sum-a,xz=sum-b\),而 \(x^{2}=\frac{xy\times xz}{yz}\),以此类推,我们就能全部推出答案.
但是这个题还有个问题. 数据范围写的是 \(\le 1\times 10^{9}\),那么 \(x(y+z)\) 最大就应该是 \(2\times 10^{18}\),我们在运算中涉及到了 \(xy\times yz\),那么最大就应该是 \(1\times 10^{36}\),会炸long long. 因此我们不能这么干. 而是要使用 int128. 因为 int128 没有开根号的运算,所以要二分手写一个.
下面是 wlesq 对这道题的解法
#include <bits/stdc++.h>
#define ll long long
#define i1 __int128
using namespace std;
i1 x,y,z;__int128 tx,ty,tz,x2;
i1 rd()
{
i1 x=0;
string s;
cin>>s;
for(unsigned int i=0;i<s.size();i++)
{
x=(s[i]-'0')+x*10;
}
return x;
}
void pr(__int128 x)
{
stack<int>o;
while(x)o.push(x%10),x/=10;
while(!o.empty()){
cout<<o.top();o.pop();
}
}
bool check(ll mid)
{
if((i1)mid*mid<x2)return 0;
return 1;
}
void fen(ll l,ll r)
{
while(l<=r)
{
ll mid=(l+r)>>1;
if(check(mid))
{
r=mid-1;
tx=mid;
}else
{
l=mid+1;
}
}
}
int main()
{
x=rd();y=rd();z=rd();
__int128 xy=(x+y-z)/2,yz=y-xy,xz=z-yz;
x2=xy*xz/yz;
fen(1,1e9);
ty=xy/tx;tz=xz/tx;
pr(tx);cout<<" ";pr(ty);cout<<" ";pr(tz);
return 0;
}
E.The Most Stupid Man
啥也不说了,这道题的 Judge 代码给大家看看
#include "testlib.h"
using namespace std;
int a[101]={625,634,644,619,649,645,633,631,622,620,648,627,628,643,621,666,638,636,626,629,654,639,630,650,623};
int main(int argc, char* argv[]) {
registerTestlibCmd(argc, argv);
int res=ouf.readInt();
if(res==624){
quitf(_wa, "No,he can't be the most stupid man.");
return 0;
}
for(int i=0;i<=100;++i){
if(a[i]&&res==a[i]){
quitf(_ok, "You find the most stupid man.");
return 0;
}
}
quitf(_wa, "You haven't find the most stupid man.");
}
F.AC自动机
交到哪里吗? 其实就在题目里,你点右上角把 Markdown 复制下来看看.
H.The End
A 中是加粗的 crrcp
B 中是标题 Order
C 中是前面有个 1. 的 black
D 中是 Input
E 中是唯一的一个 print
F 中是最下面的there
G 中是wrong
H 中是eight
I.谁是凶手
题目里 \(0\le m\le 0\),说明嫌疑人就一个啊,直接输出就行了.
J.<-- Enter
我知道你们错在哪,如下
vector<int> a;int main(){for(;;)std::cin>>a[0];}
K.An Interview of CLOI
- 字数要够
- Interview单独隔开一行
- CLOI单独隔开一行
没了.
L.还是在西欧及
这道题的答案都在题面上有. 你要做的只是读入然后翻译. 一共有 朱温湖,邯郸可欸可,吉继润,艾斯比,测试点 五个.
另外,需要注意的是汉字的 ASCLL 有两个数.
M.What You Find It A Submit Puzzle
难道你没发现输入格式那里什么都没有很奇怪吗. 鼠标往那里动一下,其实有字,拖一下就出来了.
还是上 Judge 代码
#include "testlib.h"
using namespace std;
int main(int argc,char*argv[]){
registerTestlibCmd(argc,argv);
registerGen(argc,argv,1);
string x=ouf.readToken();
if(x=="Mysterus"){
quitf(_wa,"You need to find the lost letter");
}
if(x=="Mysterious"){
quitf(_wa,"Point 1: 5^27");
}
if(x=="io"){
quitp(0.1,"Point 2: Problem Title's First Three Letter");
}
if(x=="7450580596923828125"){
quitf(_wa,"Point 3: The Writter of the Problem");
}
if(x=="Wha"){
quitp(0.2,"Point 4: Answer it,if the time is 2024/4/1");
}
if(x=="HDK"){
quitf(_wa,"Whole Name.");
}
if(x=="HaneDaniko"){
quitp(0.3,"Yes, You Will got it.");
}
if(x=="2024/4/1"){
quitp(0.4,"Point 6: BZOJ3401's name(6 length)");
}
if(x=="LookUp"){
quitp(0.5,"Point 7: I AK ___");
}
if(x=="IOI"){
quitp(0.6,"Point 8: www.cnblogs.com/HaneDaCafe/p/-/Input--GetPassword");
}
if(x=="GetPassword"){
quitf(_wa,"The Password is mima.");
}
if(x=="mima"){
quitp(0.7,"nishuodedui.");
}
if(x=="keqingkeainie"){
quitp(0.7,"you find it,but the answer is the title.");
}
if(x=="nishuodedui"){
quitp(0.8,"Now Print the Create Time of Vjudge CLOI");
}
if(x=="20240207"){
quitp(0.9,"Now Guess a character from a to z");
}
if(x=="k"){
quitf(_ok,"Thank you For Playing, the answer is 'htk+pi'");
}
if(x.length()==1){
quitf(_wa,"That can't be true.");
}
quitf(_wa,"Not found.");
}
P.Special Th什么来着
这个题实际上是让你输出 HaneDaniko 的洛谷 UID. 因为要凑 1666 总分所以有了这么一道六分的题.
[CL-FOOL] CLOI 愚人赛的部分官方题解与小杂谈的更多相关文章
- CF815D Karen and Cards 官方题解翻译
看到这道题,网上没有中文版的官方题解,于是就自己翻译了一遍. 不是机器翻译,是一个字一个字纯手翻译的,如果有错误欢迎指正. 比如我们有一张卡片,三个参数分别是 a1 = 4, b1 = 2, c1 = ...
- 【好好补题,因为没准题目还会再出第三遍!!】ACM字符串-组合数学(官方题解是数位DP来写)
ACM字符串 .长度不能超过n .字符串中仅包含大写字母 .生成的字符串必须包含字符串“ACM”,ACM字符串要求连在一块! ok,是不是很简单?现在告诉你n的值,你来告诉我这样的字符串有多少个 输入 ...
- 虎符ctf-MISC-奇怪的组织(看完官方题解,找到了)
一道取证题,一整场比赛,基本就死磕了这一题 写的很乱,因为当时的思维就是那么乱,完全没有注意到出题人的提示, 还没做出来,没有找到关键key 那个人的real name 文档:虎符.note链接:ht ...
- [noi.ac省选模拟赛]第12场题解集合
题目 比赛界面. T1 数据范围明示直接\(O(n^2)\)计算,问题就在如何快速计算. 树上路径统计通常会用到差分方法.这里有两棵树,因此我们可以做"差分套差分",在 A 树上对 ...
- 【LGR-070】洛谷 3 月月赛-官方题解
本次免费为大家提供[LGR-070]洛谷 3 月月赛的官方题解,点个赞再走呗! 代码就不上了,大家可以到别的博客上去找找!希望这篇博客能对你有所帮助!
- 官方问答--微信小程序常见FAQ (17.8.21-17.8.27)
给提问的开发者的建议:提问之前先查询 文档.通过社区右上角搜索搜索已经存在的问题. 写一个简明扼要的标题,并且正文描述清楚你的问题. 提交 BUG:需要带上基础库版本号,设备信息(iOS, Andro ...
- 第十届蓝桥杯省赛JavaB组个人题解
前言 以下的第十届蓝桥杯Java B组省赛的题目题解只是我个人的题解,提供一些解题思路,仅作参考,如有错误,望大家指出,不甚感激,我会及时更改. 试题 A: 组队 ----- 答案:490 [问题描述 ...
- 2014年北京网络赛 Instrusive HDU 5040 题解 优先队列
网赛的时候看了这道题,发现就是平常的那种基础搜索题. 由于加了一个特殊条件:可以一次消耗3秒或原地停留1秒. 那就不能使用简单的队列了,需要使用优先队列才行. 题意 告诉一副地图:一个起点,一个终点, ...
- 2019 ICPC南昌邀请赛网络赛比赛过程及题解
解题过程 中午吃饭比较晚,到机房lfw开始发各队的账号密码,byf开始读D题,shl电脑卡的要死,启动中...然后听到谁说A题过了好多,然后shl让blf读A题,A题blf一下就A了.然后lfw读完M ...
- gwyh 测试赛 验题人 - 题解 (非std做法)
测试赛 - ljc20020730 解题报告 标签(空格分隔): solution Task A Tiat's easy question 首先,判断图中是否存在长度为奇数的环等价于判断图是否为二分图 ...
随机推荐
- Geostudio简单实现边坡安全系数的计算
Geostudio是加拿大团队开发的用于岩土工程稳定性分析的一款工程软件,里面的安全系数的计算基本都是基于极限平衡法原理进行求解的,SLOPE/W模块用于安全系数的求解.SEEP/W模块考虑渗水作用. ...
- 阅读翻译Mathematics for Machine Learning之2.6 Generating Set and Basis
阅读翻译Mathematics for Machine Learning之2.6 Generating Set and Basis 关于: 首次发表日期:2024-07-19 Mathematics ...
- CF301B Yaroslav and Time 题解
CF301B 这不最短路的板子题吗? 思路 用 \(ak\) 代表走到第 \(k\) 点时的可恢复单位时间的值. \(i\) 到 \(j\) 的距离是 \(\left ( \left | xi-xj ...
- LeetCode102.二叉树的层序遍历
LeetCode题目链接:https://leetcode.cn/problems/binary-tree-level-order-traversal/submissions/548489149/ 题 ...
- 【MySQL】30 备份与恢复
1.备份命令: mysqldump -u用户名 -p 密码 -h 服务主机IP -P 端口号 \ 数据库名称 \ > 指定备份的sql脚本文件位置 ↓ # 文件位置样例: # C:\Users\ ...
- mpi4py.MPI.COMM_WORLD.Get_size失败——mpiexec and python mpi4py gives rank 0 and size 1 —— MPI.COMM_WORLD.Get_size() is always resulting '1'
参考: https://stackoverflow.com/questions/29264640/mpiexec-and-python-mpi4py-gives-rank-0-and-size-1 = ...
- Debian/ubuntu系统的开机自启动服务的设置——update-rc.d: error: XXX Default-Start contains no runlevels, aborting.
最近把自己的树莓派搞了起来,搭了个上网的共享热点,但是遇到了开机自启动的设置问题. 我们先给出正常的ubuntu系统的开机自启动服务的设置: 在 /etc/init.d/ 路径下面创建自启动的shel ...
- 【技术积累】如何处理Feign的超时问题
在使用Feign进行微服务之间的通信时,由于网络延迟等原因,可能会出现请求超时的情况.为了解决这个问题,我们可以对Feign进行配置,设置超时时间. 配置Feign的超时时间 在使用Feign时,我们 ...
- 告别手动调度,海豚调度器 3.1.x 集群部署让你轻松管理多机!
转载自第一片心意 1 前言 由于海豚调度器官网的集群部署文档写的较乱,安装过程中需要跳转到很多地方进行操作,所以自己总结了一篇可以直接跟着从头到尾进行操作的文档,以方便后续的部署.升级.新增节点.减少 ...
- Python网页应用开发神器fac 0.3.0全新版本发布
大家好我是费老师,在Python生态中,有很多以Python为主要开发语言,实现网页应用开发的框架,其中最为知名的有Dash.flet.streamlit.gradio.nicegui等. 如果综合考 ...