网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
10月16日
漏签
0
天
半条命16吧
关注:
393
贴子:
26,042
看贴
图片
吧主推荐
视频
玩乐
5
回复贴,共
1
页
<返回半条命16吧
>0< 加载中...
AcWing93
只看楼主
收藏
回复
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
送TA礼物
IP属地:河南
1楼
2022-01-14 19:26
回复
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这是树,我们要注意的两点是,输出的这一串数中的元素的值是递增的。而且有些数字因为凑不够位数,在某些情况下是不能选的。
我们还是可以通过dfs的方式来遍历这棵树,但其中包含的参数还需要我们确定。
定义参数,可以通过定义全局变量的方法,或者是定义到函数里的形参。
需要的参数:三个数的位置,int [] place, 当前该枚举的位置int k,当前最小可以从哪里枚举,int start
IP属地:河南
2楼
2022-01-14 21:01
回复
收起回复
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
private static int n,m;
private static int[] place=new int[30];
关于dfs函数,因为place已经定义成全局变量,那么dfs就只用加两个参数就行了
private static void dfs(int k,int start){
//dfs内部还是分两部分来写,一是输出符合要求的案例,二是搜索,我们先看输出样例。
//当k>m的时候,就会产生一个符合要求的结果
if(k==m+1){
for(int i=1;i<=n;i++)
sout(place[i]+" ");
sout();
return;
}
IP属地:河南
3楼
2022-01-14 21:29
回复
收起回复
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
然后我们开始写搜索部分
从start开始搜索,直到n
for(int i=start;i<=n;i++){
place[k]=i;//将枚举的数字放到place里去,然后下面继续搜索子树
dfs(k+1,i+1);//继续搜索
place[k]=0;//还原现场
}
IP属地:河南
4楼
2022-01-14 21:38
回复
收起回复
Velikaya
曲面积分
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
if(k+n-start<m) return;
当要枚举的数不足时,直接退出
此时正在选第k个数,但加上(n-start)(备选的数的数量)仍然小于要求的数
IP属地:河南
5楼
2022-01-14 21:42
回复(1)
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
赢了!国足2比1战胜印尼
2057610
2
王楚钦孙颖莎退出全锦赛
1452523
3
朝鲜炸毁韩朝边境部分道路
1070216
4
FLY辅助称能赢GEN战队
776898
5
郑钦文入围WTA年终总决赛
605982
6
金正恩阐明强硬的军事立场
571925
7
黄雨婷盛李豪分别摘金夺冠
558168
8
育碧法国员工举行罢工
522560
9
鹰角新游《泡姆泡姆》推出试玩
432696
10
刘诗雯林高远全锦赛混双夺冠
339087
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示