1919:【02NOIP普及组】选数
- 首先来看题干,由于懒得写 篇幅原因,题干在这里神秘的传送门
- 这道题是很明显的暴力我不会最优解
- 大体思路如下:
1.看数据,20以内,明显搜索
2.从前往后,每一个数都只有两个状态,加入到组合中或者不加
3.判断素数时可以用sqrt()函数来优化
4.码递归代码 - 注意
1.题干中问的是组合方式,所以同一个数可能有多种组合
2.组合的结果可能是1,所以在判断素数的时候要特判1 - 最后上代码 100分
#include<bits/stdc++.h>
using namespace std;
int n,k,a[101],b[101],sum,ans;
inline void pd(){if(sum==1) return; //特判1for(int i=2;i<=sqrt(sum);i++) //sqrt函数优化if(sum%i==0) return;ans++; //总组合数加一return;
}
inline void jqsh(int x,int y,int z){x++; //往后寻找if(y==k){ //找够了k个数sum=z;pd();return;}if(x>n) return;//寻找范围超出了读入的数组jqsh(x,y+1,z+a[x]); //加入到组合中jqsh(x,y,z); //不加入return;
}
int main(){scanf("%d %d",&n,&k);for(int i=1;i<=n;i++)scanf("%d",&a[i]);jqsh(0,0,0); //从零开始寻找printf("%d\n",ans);return 0;
}
1919:【02NOIP普及组】选数相关推荐
- 信息学奥赛一本通 1919:【02NOIP普及组】选数 | 洛谷 P1036 [NOIP2002 普及组] 选数
[题目链接] ybt 1919:[02NOIP普及组]选数 洛谷 P1036 [NOIP2002 普及组] 选数 [题目考点] 1.排列组合 2.深搜(子集树) 3.质数 [解题思路] 深搜(子集树) ...
- 洛谷 P1036 [NOIP2002 普及组] 选数(DFS)
题目描述 已知 n 个整数 x1,x2,-,xnx_1,x_2,-,x_nx1,x2,-,xn,以及1个整数k(k<nk<nk<n).从n个整数中任选k个整数相加,可分别得到一 ...
- [NOIP2002 普及组] 选数 dfs筛素数
突然想做个题 n个数 选k个 k个数的和为素数 这种组合一共多少个 end #include<bits/stdc++.h>using namespace std; typedef long ...
- 洛谷----P1036 [NOIP2002 普及组] 选数
题目描述 已知 nn 个整数 x1,x2,⋯,xn,以及 1 个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 ...
- P1036 [NOIP2002 普及组] 选数
原题:https://www.luogu.com.cn/problem/P1036 深度优先搜索找到排列,然后用一个求质数函数返回1和0,用一个sum在循环中累加,搜索结束返回sum,正好就是结果. ...
- 【NOIP普及组】1919:【02NOIP普及组】选数
[信奥赛一本通]1919:[02NOIP普及组]选数 1.[题目描述] 2.[代码] 1.[题目描述] [题目描述] 已知n个整数x1,x2,--xn,以及一个整数K(K<n).从n个整数中任选 ...
- 信息学奥赛一本通 1314:【例3.6】过河卒(Noip2002) | 1921:【02NOIP普及组】过河卒 | 洛谷 P1002 [NOIP2002 普及组] 过河卒
[题目链接] ybt 1314:[例3.6]过河卒(Noip2002) ybt 1921:[02NOIP普及组]过河卒 洛谷 P1002 [NOIP2002 普及组] 过河卒 [题目考点] 1. 坐标 ...
- 信息学奥赛一本通 1316:【例4.6】数的计数(Noip2001) | 1914:【01NOIP普及组】数的计数 | 洛谷 P1028 [NOIP2001 普及组] 数的计算
[题目链接] ybt 1316:[例4.6]数的计数(Noip2001) ybt 1914:[01NOIP普及组]数的计数 洛谷 P1028 [NOIP2001 普及组] 数的计算 [题目考点] 1. ...
- 信息学奥赛一本通 1087:级数求和 | 1918:【02NOIP普及组】级数求和 | OpenJudge NOI 1.5 27
[题目链接] ybt 1087:级数求和 ybt 1918:[02NOIP普及组]级数求和 OpenJudge NOI 1.5 27:级数求和 [题目考点] 1. 循环.求和 [解题思路] 设加和变量 ...
最新文章
- POJ 2352 Stars (线段树)
- DAY3-Flask项目
- Nacos支持配置的动态更新
- 【EasyUI tree】Python 异步菜单树的实现
- 如果生活中没有数学,那么。。。
- 突破极限–如何将AeroGear Unified Push用于Java EE和Node.js
- “10亿赌约”董明珠赢了!格力电器2018年总收入超2000亿
- XMLReader—一个可以读取XML文件的java类
- 美股涨跌幅限制是多少?
- 微服务最佳实践 【已翻译100%】
- 在myql sqlserver 快速找到带有关键字的表
- nginx 1.12基础知识
- 管鲍计算机教室管理系统,管鲍多媒体电子教室
- linux jconsole 监控jvm,JVM监测分析JConsole
- MYSQL学习心得6
- oracle:sql 判断时间段重叠
- 用c语言实现cos x 函数
- java操作MangoDB的聚合Aggregation用法-分页查询
- 拉链表的详细实现过程(好文点赞收藏!!)
- uni-app - 城市选择索引列表 / 通过 A-Z 排序的城市列表(uview 组件库 IndexList 索引列表)