当前位置: 首页 > java >正文

[题解]2023CCPC黑龙江省赛 - Ethernet

Intro

  • 来源:E.Ethernet - Codeforces
  • 题意:给定 n ( 1 ≤ n ≤ 10 ) n(1\le n\le 10) n(1n10) 个数组成的排列,其中前 m ( 0 ≤ m ≤ n ) m(0\le m\le n) m(0mn) 个数(即 1 1 1~ m m m) 在排列中位置随机,对于剩余 n − m n-m nm 个数,设当前填充数字为 i ( n − m ≤ i ≤ n ) i(n-m\le i\le n) i(nmin)
    • 若第 i i i 位未被填充,则填充数字 i i i
    • 否则, i i i 将被随机填充到先前未被填充的位上。
  • 关键词:搜索,思维(签到)

题解

下面给出两种解法:

DFS

注意到 n = 10 n=10 n=10,显而易见这是一道DFS板子题,不需要任何剪枝技巧,复杂度 O ( n ! ) O(n!) O(n!)

#include<bits/stdc++.h>
using namespace std;
int n,m,cnt,yes;
vector<bool>v(11);
void dfs(int x){//x:当前处理数字if(x==n){//插满cnt++;if(!v[n]) yes++;}else if(x>m){//乱插结束if(!v[x]){v[x]=1;dfs(x+1);v[x]=0;}else{//乱插for(int i=1;i<=n;i++)if(!v[i]){v[i]=1;dfs(x+1);v[i]=0;}}}else{for(int i=1;i<=n;i++)if(!v[i]){v[i]=1;dfs(x+1);v[i]=0;}}
}
void solve(){cin>>n>>m;dfs(1);printf("%.10lf",yes/(double)cnt);
}
signed main(){// ios::sync_with_stdio(0),cin.tie(0);int t=1;while(t--) solve();return 0;
}

结论

手玩几个样例,不难发现:
n = m n=m n=m,则答案为 1 m \frac{1}{m} m1;否则答案为 1 m + 1 \frac{1} {m+1} m+11

#include<bits/stdc++.h>
using namespace std;
int n,k;
void solve(){if(n==k) printf("%.10lf",1/(double)k);else printf("%.10lf",1/(double)(k+1));
}
signed main(){scanf("%lld %lld",&n,&k);solve();return 0;
}
http://www.xdnf.cn/news/5291.html

相关文章:

  • Java多线程同步方法ReentrantLock显式锁实现方式
  • Python数据分析
  • Spring 6.x 详解介绍
  • 【从零实现JsonRpc框架#1】Json库介绍
  • 基于NI-PXI的HIL系统开发
  • MySQL 1366 - Incorrect string value:错误
  • MySQL:视图
  • 串口屏调试 1.0
  • ComfyUI 如何安装ComfyUI_SLK_joy_caption_two
  • window环境下,如何通过USB接口控制打印机
  • 质心均匀体(引力屏蔽技术)
  • 算法训练营第十三天|226.翻转二叉树、101. 对称二叉树、 104.二叉树的最大深度、111.二叉树的最小深度
  • 多模态大模型中的视觉分词器(Tokenizer)前沿研究介绍
  • 【入门】数字走向II
  • JavaScript 数组去重:11 种方法对比与实战指南
  • 什么是 B2B?2B 产品销售怎么找客户?
  • Unity基础学习(十)Camera组件
  • [ctfshow web入门] web67
  • JVM对象创建内存分配
  • [特殊字符]️ 快速检测与修复TLS 1.0/1.1漏洞指南
  • 人形机器人:主控芯片
  • 红黑树算法笔记(二)性能对比实验
  • 解密数据结构之位图和布隆过滤器
  • TCP IP
  • 社区商城分销团长扩充与扩散策略优化的系统方案
  • Information Fusion期刊期刊投稿经验分享
  • 23、DeepSeekMath论文笔记(GRPO)
  • 计算机网络与多线程同步机制详解
  • Linux系统之----模拟实现shell
  • 轻量级因果语言视觉模型简述:nanoVLM-222M