A题:https://ac.nowcoder.com/acm/contest/37344/A

看代码比说结论要快得多

#include<bits/stdc++.h>
using namespace std;
int main()
{int d,dd;cin>>d>>dd;if(dd==d)puts("No");else if(__gcd(dd,d)==1)puts("Yes");else puts("No");
}

B题:https://ac.nowcoder.com/acm/contest/37344/B

要使a=x*y*z;(x比y先出现,y比z先出现)
先将y*z的结果用mp数组表示出来,并把y出现的位置标记。
再遍历数组,a与x的坐标由i和j控制。
注意几种情况:1. 0=0*y*z  恒成立
2.   a=0*y*z  (a不为0)恒不成立
3. 当a/x=y*z时,a的位置必须在y和z前面
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
const int N=2e5+5;
int b[N];
unordered_map<int,int>mp;signed main()
{ios;int n,ans=0;cin>>n;for(int i=1;i<=n;i++){cin>>b[i];}for(int i=2;i<=n;i++)for(int j=i;j<=n;j++)mp[(b[i]*b[j])]=i;for(int i=1;i<=n-1;i++){for(int j=i+1;j<=n;j++){if(b[i]==0&&b[j]==0){ans++;break;}else if(b[j]==0)continue;else if(b[i]%b[j]==0){if(i<mp[b[i]/b[j]]){ans++;break;}}}}cout<<ans;
}

C题:https://ac.nowcoder.com/acm/contest/37344/C
注意:只有受了一次攻击的Dragon才能攻击,Virm无需受伤即可攻击。

#include<bits/stdc++.h>
using namespace std;
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define int long long
const int N=2e5+5;
int b[N];signed main()
{int a1,h1,a2,h2,x,k,a3,h3;cin>>a1>>h1>>a2>>h2>>x>>k>>a3>>h3;int sum=0,cnt=0;sum+=ceil(1.0*h2/a1-1)*x*a2;//龙对他的攻击cnt+=ceil(1.0*h2/a1)*x;sum+=k*a3;//还在杀龙,Virm对他的攻击sum+=ceil(1.0*h3/a1)*a3;//杀Virm时,Virm对他的攻击cnt+=ceil(1.0*h3/a1);if(sum>h1)puts("No Franxx!");else cout<<cnt;
}

F题:https://ac.nowcoder.com/acm/contest/37344/F
对于任意一个n>1的数,都有n=P1^a1 * P2^a2 *…*Pi^ai。
所以,根据题目意思可得,

**n%x==0且x^(1/3)的平方为有理数
=>n%x==0, x^(1/3)为有理数
=>n%x==0,存在i*i*i==x
=>n%(i*i*i)==0.
```**
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll t;cin>>t;while(t--){ll n,ans=0;cin>>n;for(ll i=1;i*i*i<=n;i++){if(n%(i*i*i)==0)ans++;}cout<<ans<<'\n';}
}

G题:https://ac.nowcoder.com/acm/contest/37344/G
递推
长度为n的二进制数,记为f[n]
当乘以4.相当于在f[n-2]后添两个0;
2*n+1可表示所有的奇数,则在f[x]后添1也属于该集合;
所以,f[n]=f[n-1]+f[n-2]+1;
再加1,是因为f[n-2]后面添的为两个1,这一种情况也可。

#include<bits/stdc++.h>
using namespace std;
#define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define int long long
const int N=1e6+10;
int b[N];
int mod=998244353;signed main()
{ios;int n;cin>>n;b[1]=1,b[2]=2;for(int i=3;i<=n;i++)b[i]=(b[i-1]%mod+b[i-2]%mod+1)%mod;cout<<b[n];
}

I题:https://ac.nowcoder.com/acm/contest/37344/I
dfs暴搜,不多写几遍属实不会。

#include<bits/stdc++.h>
using namespace std;
#define ios ios::sync_with_stdio(0);cin.tie(0);cin.cout(0)
#define int long long
int n,ans;void dfs(int x,int sum,int cnt)//x记录当前数字大小,sum记录当前数位和,cnt记录位数
{if(x>n||sum>20)return ;//因为cnt<=10,所以sum不会大于20if(x&&(sum==2*cnt))ans++;//x必须不等于0,因为有(0,0,0)这组数据for(int i=0;i<10;i++){int y=x*10+i;if(y)//又是一个细节,0会一直暴搜下去,不会返回dfs(y,sum+i,cnt+1);}
}
signed main()
{cin>>n;dfs(0,0,0);cout<<ans;
}

J题:https://ac.nowcoder.com/acm/contest/37344/J
非常暴力,不过我的思路也仅限停留在开头的a+b=d-c;
这个方法是把a+c的所有组合的和标记起来,再从d-c里找是否有标记过的值,有为Yes,反之为No。

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ios ios::sync_with_stdio(0);cin.tie(0)
const int N=2e5+5;
int b[N];
map<int,int>mp;
int n;signed main(){ios;cin>>n;for(int i=0;i<n;i++)cin>>b[i];for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(mp.count(b[i]+b[j])==0)mp[b[i]+b[j]]=1;for(int i=0;i<n;i++)for(int j=0;j<n;j++)if(mp.count(b[i]-b[j])==1){puts("Yes");return 0;}puts("No");}

L题:https://ac.nowcoder.com/acm/contest/37344/L
暴力,没啥好说的,用find好像超时了

#include<bits/stdc++.h>
using namespace std;
int main()
{string s;cin>>s;int ans=0;for(int i=0;i<s.size()&&(i+1)<s.size()&&(i+2)<s.size();i++){if(s[i]=='H'&&s[i+1]=='P'&&s[i+2]=='U'){ans++;i+=2;}}cout<<ans<<'\n';
}

还欠四题,完。

2022/7/17/题解2022河南萌新联赛第(二)场:河南理工大学https://ac.nowcoder.com/acm/contest/37344相关推荐

  1. 2022河南萌新联赛第(二)场:河南理工大学 补题题解(A、B、C、F、J、L)

    2022河南萌新联赛第(二)场:河南理工大学 A 妙手 B 宝石 C 斩龙 F 手办 J 签到 L HPU 就过了一道题,三道签到的两题都是思路对了但没写出来,只能说自己还是太菜,需要努力! 比赛地址 ...

  2. 【2022河南萌新联赛第(五)场:信息工程大学】【部分思路题解+代码解析】

    文章目录 2022河南萌新联赛第(五)场:信息工程大学 B 交通改造 题目描述 示例1 题目解析: 思路1: 思路2: C 丢手绢 题目描述 示例1 题目分析: 快速幂: AC代码: F 分割草坪 题 ...

  3. 2022河南萌新联赛第(二)场

    2022河南萌新联赛第(二)场 目录 F 手办 G 无限 J 签到 L HPU 结语 水题水题 目录 F 手办 思路:暴力是否有立方数是n的因子 #include<bits/stdc++.h&g ...

  4. 2022河南萌新联赛

    2022河南萌新联赛第(一)场:河南工业大学 A - Alice and Bob B - 打对子 C - 割竿榄 D - 纪念品领取 E - 聚会 F - 买车 G - 热身小游戏 H - 兴奋值 I ...

  5. 22.11.25打卡 2022河南萌新联赛第(二)场:河南理工大学 AFJL

    之前漏下的打卡慢慢补 2022河南萌新联赛第(二)场:河南理工大学_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A题 想了好一会都没什么思路, 主要是这个1e1145 ...

  6. 2023河南萌新联赛第(四)场:河南大学 I - yh的线段

    2023河南萌新联赛第(四)场:河南大学 I - yh的线段 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言1048576K 64bit IO Format: ...

  7. 2022河南萌新联赛第(三)场:河南大学

    A.玉米大炮 题目链接 关键点: 1.本题要求求出打败僵尸的最短时间,并且随着时间的增大,打败的概率越来越大,所以为递增的,因此可以用二分 2.二分打败时间,这里注意要开long long,然后是判断 ...

  8. 2022河南萌新联赛第(二)场:河南理工大学(赛后总结)

    A.妙手 题目大意: 思路: 代码: B.宝石 题目大意: 思路: 代码: C.斩龙 题目大意: 思路: 代码: #include<bits/stdc++.h> using namespa ...

  9. 2022河南萌新联赛第(二)场:河南理工大学 C - 斩龙

    C - 斩龙 模拟战斗过程:先将 DragonDragonDragon 全部击败才能对 VirmVirmVirm 进行攻击 在 VirmVirmVirm 加入战斗后,当我们伤害能一下击败一只 Drag ...

最新文章

  1. Nature新研究:猪脑死亡4小时后,科学家成功恢复脑细胞功能
  2. Javascript函数执行、new机制以及继承
  3. armv8/arnv9的aarch64架构中系统寄存器的分类和总结
  4. 几种开源SIP协议栈对比OPAL,VOCAL,sipX,ReSIProcate,oSIP
  5. Struts 2基础入门
  6. 转载:Windows核心编程---空指针赋值分区
  7. php新闻删除功能设计,php原生开发新闻站之删除新闻
  8. 125KHz 100cm ID 读卡电路_摄影人最好用的读卡器推荐
  9. Echarts3里的地图标记点事件效果实现
  10. Flash cs4 for mac 序列号
  11. ChromeOS 体验
  12. 原创|批处理实现安卓手机一键快速截屏
  13. C# 海康人脸识别设备初开发(二)话不多说以下完整例子
  14. 谷歌最新版本浏览器如何兼容flash插件
  15. 由一道CTF pwn题深入理解libc2.26中的tcache机制
  16. 自学计算机基础知识需要什么书,学习计算机基础知识,我强烈推荐这三本书!...
  17. 如何寻找“真爱”型合伙人
  18. Android Qcom Display学习(三)
  19. axure9实用操作设置鼠标单击交互事件为什么没响应
  20. EMV L2 - 应用选择

热门文章

  1. IEEE期刊论文格式(一)
  2. 【30分钟学完】canvas动画|游戏基础(7):动量守恒与多物体碰撞
  3. C语言写一个函数,输入一行字符,将此字符串中最长的单词输出
  4. [Luogu P3642] [BZOJ 4585] [APIO2016]烟火表演
  5. BACK-OFF RESTARTING FAILED CONTAINER 的解决方法
  6. 蓝牙聊天App设计1:Android Studio制作蓝牙聊天通讯软件(UI界面设计)
  7. opencv识别图像红色区域,并输出红色区域中心点坐标
  8. Emac的使用与编程学习笔记
  9. 《九》微信小程序中的自定义组件
  10. 日常笔记之wifi定频及测试