【搜索】WAR大佬的SET @upcexam6201
时间限制: 1 Sec 内存限制: 128 MB
题目描述
WAR大佬认为一个包含重复元素的集合认为是优美的,当且仅当集合中的元素的和等于他们的积。
求包含n个元素的优美的集合的个数。
WAR大佬当然会啊,他只是想考考你。
输入
一个正整数n(2<=n<=1000)
输出
一个数ans表示集合的个数
样例输入
5
样例输出
3
提示
1+1+1+2+5=1*1*1*2*5
1+1+1+3+3=1*1*1*3*3
1+1+2+2+2=1*1*2*2*2
dfs,注意题目说了必须要有重复元素
剪枝条件是后面每位都用当前数且exmul*幂大于exsum+和时
#define FILE() freopen("../../in.txt","r",stdin)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1005;
ll fstpow(ll a,ll n) {
ll res = 1;
while(n) {
if(n&1)res*=a;
a*=a;
n>>=1;
}
return res;
}
ll dfs(ll _digit,ll _num,ll _exmul,ll _exsum) {
_exmul*=_num;
_exsum+=_num;
if(_digit==1) {
if(_exmul==_exsum)return 1;
else return 0;
}
ll ans = 0;
for(ll i=_num;; i++) {
if(_exmul*fstpow(i,_digit-1)>_exsum+i*(_digit-1))break;
if(_digit==2&&_num==1)break;
ans+=dfs(_digit-1,i,_exmul,_exsum);
}
return ans;
}
int main() {
// FILE();
// freopen("../../out.txt","w",stdout);
ll n;
scanf("%lld",&n);
if(n==2||n==3)printf("0\n");
else {
ll ans = 0;
ll digit = min(n,32ll);
ans=dfs(digit,1,1,n-digit);
printf("%lld\n",ans);
}
return 0;
}
【搜索】WAR大佬的SET @upcexam6201的更多相关文章
- 【NOIP2009】【CJOJ1687】【洛谷1074】靶形数独
题面 Description 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向 Z博士请教,Z 博士拿出 ...
- Exp6 信息搜集与漏洞扫描 20164313 杜桂鑫
1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应用 1.使用搜索引擎 在百度搜索栏内输入 site:com filetype:doc 北京电子科技学院 ...
- 重新认识被人遗忘的HTTP头注入
前言 注入类漏洞经久不衰,多年保持在owasp Top 10的首位.今天就聊聊那些被人遗忘的http头注入.用简单的实际代码进行演示,让每个人更深刻的去认识该漏洞. HOST注入 在以往http1.0 ...
- 2.HTTP头注入
重新认识被人遗忘的HTTP头注入 前言 注入类漏洞经久不衰,多年保持在owasp Top 10的首位.今天就聊聊那些被人遗忘的http头注入.用简单的实际代码进行演示,让每个人更深刻的去认识该漏洞. ...
- shell之startup
#!/bin/sh # # # # PROJECT=$ APPWORK_DIR=~/apps/$PROJECT LOGPATH=~/logs/$ LOGFILE=~/logs/$PROJECT/${P ...
- leetcode1552题解【二分+贪心】
leetcode1552.两球之间的磁力 题目链接 算法 二分+贪心 时间复杂度O(nlogn + nlogm) 1.根据题意描述,我们需要将m个球放入到n个篮子中,根据题目中数据范围描述发现m &l ...
- poj 1085 Triangle War (状压+记忆化搜索)
Triangle War Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2685 Accepted: 1061 Desc ...
- poj 1085 Triangle War 博弈论+记忆化搜索
思路:总共有18条边,9个三角形. 极大极小化搜索+剪枝比较慢,所以用记忆化搜索!! 用state存放当前的加边后的状态,并判断是否构成三角形,找出最优解. 代码如下: #include<ios ...
- [AH2017/HNOI2017]大佬(动态规划 搜索)
/* 神仙yyb 理解题意可以发现 能够对大佬造成的伤害只和你怼了多少天大佬有关, 而且显然天数越多越好 那么我们可以先通过预处理来找出我们最多能够怼多少天大佬 然后我们发现最后我们能怼的血量状态数是 ...
随机推荐
- es6 2017
http://es6.ruanyifeng.com/ 18.async 20.Decorator 属于ES2017, nodejs 未实现 21.Module 中的 import export n ...
- jquery源码 整体架构
一.对外提供接口 对外提供了jQuery. //可以通过jQuery或者$来找到jQuery (function(window,undefined){ //(21,94) 定义了一些变量和函数 jQu ...
- 修改element ui 默认样式最好的解释
KedAyAyA 17年10月 https://forum.vuejs.org/t/elementui/19171/5 首先添加了scoped的style标签会在vue-loader里进行处理 所谓的 ...
- flink-SQL
Table API和SQL捆绑在flink-table Maven工件中.必须将以下依赖项添加到你的项目才能使用Table API和SQL: <dependency> <groupI ...
- P1220 关路灯 区间dp
题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯. 为了给村 ...
- 写面向对象的新Process
import multiprocessing class mypro(multiprocessing.Process): def __init__(self,a,b): super().__init ...
- Codeforces 870C Maximum splitting (贪心+找规律)
<题目链接> 题目大意: 给定数字n,让你将其分成合数相加的形式,问你最多能够将其分成几个合数相加. 解题分析: 因为要将其分成合数相加的个数最多,所以自然是尽可能地将其分成尽可能小的合数 ...
- XML相关的安全漏洞-XXE,XPATH小结
0x00前言: 本文主要小结以下php下的xpath查询xml结构的漏洞利用和XXE漏洞利用 xml是可扩展标记语言,它被设计出来是为了存储传输数据的. 它的结构是树形结构,并且标签要成对出现比如下面 ...
- 【持久化框架】Mybatis与Hibernate的详细对比(转发)
前言 这篇博文我们重点分析一下Mybatis与Hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate的原理. Mybatis [持久化框架]Mybatis简 ...
- [数学] 奇异值分解SVD的理解与应用
看一个预测的代码,在预处理数据的时候使用了svd.了解了一下svd相关资料,比较喜欢第一篇文章的解释,不过第二篇也很简单. https://blog.csdn.net/ab_use/article/d ...