Denso Create Programming Contest 2024(AtCoder Beginner Contest 361)

Denso Create Programming Contest 2024(AtCoder Beginner Contest 361)

\(A\) Insert \(AC\)

  • 循环结构。

    点击查看代码
    int a[200];
    int main()
    {int n,k,x,i;cin>>n>>k>>x;for(i=1;i<=n;i++){cin>>a[i];cout<<a[i]<<" ";if(i==k){cout<<x<<" ";}}return 0;
    }
    

\(B\) Intersection of Cuboids \(AC\)

  • 不会立体几何。

  • \(f_{x,y,z}\) 表示 \((x,y,z)\) 被包含在几个长方体内。最后判断是否存在一个点 \((x,y,z)\) 使得 \(f_{x,y,z}=f_{x-1,y,z}=f_{x,y-1,z}=f_{x,y,z-1}=2\)

  • bitset 压一下,时空复杂度为 \(O(\dfrac{1000^3}{w})\) ,因为是 \(2s\)\(1024MB\) ,所以可以过。

    点击查看代码
    bitset<1010>vis[2][1010][1010];
    int main()
    {int a,b,c,d,e,f,i,j,k,h;for(i=0;i<=1;i++){cin>>a>>b>>c>>d>>e>>f;  for(j=a;j<=d;j++){for(k=b;k<=e;k++){for(h=c;h<=f;h++){vis[i][j][k][h]=1;if((vis[i][j][k][h]==1&&vis[i^1][j][k][h]==1)&&(j>=1&&vis[i][j-1][k][h]==1&&vis[i^1][j-1][k][h]==1)&&(k>=1&&vis[i][j][k-1][h]==1&&vis[i^1][j][k-1][h]==1)&&(h>=1&&vis[i][j][k][h-1]==1&&vis[i^1][j][k][h-1]==1)){cout<<"Yes"<<endl;return 0;}}}}}cout<<"No"<<endl;return 0;
    }
    

\(C\) Make Them Narrow \(AC\)

  • \(\{ a \}\) 升序排序后,枚举这个位置作为最大值时最小值是几。

  • 最终,有 \(\min\limits_{i=n-k}^{n} \{ a_{i}-a_{k-(n-i)+1} \}\) 即为所求。

    点击查看代码
    ll a[200010];
    int main()
    {ll n,k,ans=0x7f7f7f7f,i;cin>>n>>k;for(i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+1+n);for(i=n-k;i<=n;i++){ans=min(ans,a[i]-a[k-(n-i)+1]);}cout<<ans<<endl;return 0;
    }
    

\(D\) Go Stone Puzzle

  • 傻逼搜索,不想写了。

\(E\) Tree and Hamilton Path 2

  • 感觉在哪里看过类似的,赛时一开始以为是简单树形 \(DP\),后来发现需要换根,接着一直在想换根,推到最后还差一个式子没推出来。

  • 如果要求最终回到起点,则每条边均会经过两次,搜索顺序不影响最终答案。而最终不要求回到起点,搜索顺序会影响答案,其中找到最长的一条路径(直径),减去直径长度即可。

    点击查看代码
    struct node
    {ll nxt,to,w;
    }e[400010];
    ll head[400010],f[400010],g[400010],cnt=0,len=0;
    void add(ll u,ll v,ll w)
    {cnt++;e[cnt].nxt=head[u];e[cnt].to=v;e[cnt].w=w;head[u]=cnt;
    }
    void dfs(int x,int fa)
    {for(int i=head[x];i!=0;i=e[i].nxt){if(e[i].to!=fa){dfs(e[i].to,x);if(f[e[i].to]+e[i].w>f[x]){g[x]=f[x];f[x]=f[e[i].to]+e[i].w;}else{g[x]=max(g[x],f[e[i].to]+e[i].w);}}}len=max(len,f[x]+g[x]);
    }
    int main()
    {   ll n,u,v,w,ans=0,i;cin>>n;for(i=1;i<=n-1;i++){cin>>u>>v>>w;ans+=2*w;add(u,v,w);add(v,u,w);}dfs(1,0);cout<<ans-len<<endl;return 0;
    }
    

\(F\) x = a^b \(AC\)

  • 对应 luogu P9118 [春季测试 2023] 幂次 中 \(k=2\) 的情况,赛时直接贺的以前代码。

  • \(k=1\) 时,有 \(n\) 即为所求。

  • \(k=2\) 时,有 \(k \ge 3\) 的答案加上 \(x=a^{2}\) 的数量再减去能表示成 \(x=a^{6}\) 的数量即为所求。

  • \(k \ge 3\) 时,枚举底数 \(1 \sim \sqrt[3] n\) ,手算指数判断。

    点击查看代码
    map<ll,bool>vis;
    int main()
    {ll n,k,ans=0,sum3=0,sum6=0,mi,c,sqrtmi,i;cin>>n;k=2;if(k==1){cout<<n<<endl;}else{for(i=2;i*i*i<=n;i++){mi=i*i;c=2;while(mi<=n/i){mi*=i;c++;if(c>=k&&vis.find(mi)==vis.end()){vis[mi]=1;sum3++;sqrtmi=sqrtl(mi);sum6+=(sqrtmi*sqrtmi==mi);}}}if(k==2){cout<<((ll)(sqrtl(n)))+sum3-sum6<<endl;}else{cout<<sum3+1<<endl;}}return 0;
    }
    

\(G\) Go Territory

总结

  • 开题顺序: \(AFCBE\)
  • 模拟和比赛题要记得改。

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

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

相关文章

浅谈进程隐藏技术

在之前几篇文章已经学习了解了几种钩取的方法,这篇文章就利用钩取方式完成进程隐藏的效果。在实现进程隐藏时,首先需要明确遍历进程的方法。前言 在之前几篇文章已经学习了解了几种钩取的方法 ● 浅谈调试模式钩取 ● 浅谈热补丁 ● 浅谈内联钩取原理与实现 ● 导入地址表钩取…

什么是新质生产力

什么是新质生产力

好消息!数据库管理神器 Navicat 推出免费精简版:Navicat Premium Lite

前言 好消息,前不久Navicat推出了免费精简版的数据库管理工具Navicat Premium Lite,可用于商业和非商业目的,我们再也不需要付费、找破解版或者找其他免费平替工具了,有需要的同学可以马上下载使用起来。 工具官方介绍 Navicat Premium Lite 是 Navicat 的精简版,它包含了…

读人工智能全传05专家系统

读人工智能全传05专家系统1. 知识就是力量 1.1. 人工智能领域此前存在的问题是过度关注搜索和解决问题这种通用法则 1.2. “弱”方法缺少一个关键的要素,而这一要素才是在所有智能行为中起决定性作用的组成部分:知识 1.3. 一种基于知识的人工智能系统:专家系统开始出现,它能…

副本集要点

oplog 中的每个操作都是幂等的。也就是说,无论对目标数据集应用一次还是多次,oplog 操作都会产生相同的结果。 Oplog大小当您第一次启动副本集成员时,如果您未指定 oplog 大小,MongoDB 将创建默认大小的 oplog。默认 oplog 大小取决于存储引擎: 存储引擎默认 Oplog 大小Wi…

副本集

MongoDB 中的副本集是一组mongod提供冗余和高可用性的进程。副本集的成员包括: 主服务器接收所有写操作。 主节点是副本集中唯一接收写入操作的成员。MongoDB 在主节点上应用写入操作,然后将操作记录在主节点的oplog上。辅助成员复制此日志并将操作应用于其数据集。副本集的所…

06.函数

Go 语言中的函数是代码组织和复用的基础,函数的定义和调用非常简单明了。下面是 Go 语言中函数的基础语法和一些关键概念: 函数的定义 在 Go 语言中,函数的定义包括函数名、参数列表、返回值类型和函数体。语法格式如下:func 函数名(参数列表) 返回值类型 {函数体 } 示例 下…

第一周学习总结

暑假第一周,经过短暂的调整,我进入到了Java语言的学习中。通过这一周的学习,在《疯狂Java讲义》与B站黑马程序员课程的帮助下,我初步了解了Java这门编程语言。以下是我对这周学习的总结: 1.学习使用CMD 学会了使用Win+R输入cmd打开CMD窗口,学习了一些常见CMD指令(如dir,…

Aide插件

aide/docs/configuration/README_CN.md at master nicepkg/aide GitHub VSCode代码阅读神器正式发布_哔哩哔哩_bilibili 结合chatgpt实现多种功能,包含代码一键生成逐行翻译、多种编程语言之间的转换等功能,对于接手大型工程的朋友们比较友善。 在安装、运行的过程中自己遇…

如何返回“无法访问此网站,网页可能暂时无法连接,或者它已经永久性地移动到了新网址”

测试网址:https://apd-vlive.apdcdn.tc.qq.com/vhqts.tc.qq.com/AH06mhzdlI9B9pSNWNcCQ3qMPITV0Kvp7M9y38FV4acs/B_tRCdt2L6hl1ezG-aht1_p5_cq9aDE5woqbhlSZqo2k-426BaS8_TYPecOQIueTdj/svp_50112/KVzxIc_QsMTArbayBuac_YlujjBVGNK2tuYZLHLdMFhy2_PHwGTGHd8PTpwBeJf4V8Ol2Ejdk…

05.循环

for循环for 的条件里不需要括号 for 的条件里可以省略初始条件,结束条件,递增表达式将整数转换为字符串:package mainimport ("fmt""strconv" )func convertToBin(n int) string {//将整数转换为二进制result := ""for ; n > 0; n /= 2 {l…