纪中20日c组T2 2122. 【2016-12-31普及组模拟】幸运票

2122. 幸运票

(File IO): input:tickets.in output:tickets.out

时间限制: 1000 ms  空间限制: 262144 KB  具体限制

Goto ProblemSet

题目描述

给你一个数N(1<=N<=50),每张票有2N位,同时给你这2N位上的和S,如果这张票的前N位的和等于后N位的和,那我们称这张票是吉祥的,每一位可以取0-9。

你的任务是计算吉祥票的总数。

输入

输入N和S,S是所以位上的和,假设S<=1000

输出

输出吉祥票的总数

样例输入

2 2

样例输出

4

数据范围限制

见题目描述

Solution

此题很不友好……emmm……

Algorithm1

死命dfs

Code1

 1 #pragma GCC optimize(2)
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cstdio>
 5 #include<cstring>
 6 #include<cmath>
 7 #include<map>
 8 #include<set>
 9 #include<vector>
10 #include<queue>
11 #define IL inline
12 using namespace std;
13
14 unsigned long long n,s,ans,sum;
15 IL void dfs(unsigned long long depth,unsigned long long now,unsigned long long sum)
16 {
17     if(sum*2>s) return;
18     if(depth==n){
19         if(sum==s/2)
20             ans++;
21         return;
22     }
23     for(int i=0;i<10;i++)
24     {
25         dfs(depth+1,now*10+i,sum+i);
26     }
27 }
28 int main()
29 {
30 //    freopen("tickets.in","r",stdin);
31 //    freopen("tickets.out","w",stdout);
32     cin>>n>>s;
33     dfs(0,0,0);
34     cout<<ans*ans;
35      return 0;
36 }

Code1

Algorithm2

打了一番表,发现真相……

一个斜着的杨辉三角形*2???

由于某些原因(换了电脑且插不了U盘)

没法详细的讲规律

这是ans,不是ans的平方!

0 0 0 0 0 0 0 0……
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 0 0 ……
1 1 3 3 6 6 10 10 15 15 21 21 28 28 36 36 45 45 55 55 63 63 ……0 0 0 0 ……
1 1 4 4 10   10   20   20 ……

可以用s/2向下取整+1先把重复的删除(calc(n,s/2+1))

然后这个矩阵就有有个规律了:

如果s/2+1小于11的话,memory[i][j]=memory[x-1][y]+memory[x][y-1]

否则memory[i][j]=memory[x-1][y]+memory[x][y-1]-1

原文地址:https://www.cnblogs.com/send-off-a-friend/p/11385841.html

时间: 2024-10-04 10:11:04

纪中20日c组T2 2122. 【2016-12-31普及组模拟】幸运票的相关文章

纪中10日T1 2313. 动态仙人掌

纪中10日 2313. 动态仙人掌 (File IO): input:dinosaur.in output:dinosaur.out 时间限制: 1500 ms  空间限制: 524288 KB  具体限制 Goto ProblemSet 题目描述 沙雕游戏……反正我没玩过…… 输入 输出 样例输入 数据范围限制 Solution 考试时想的是对的 为什么就是没有分呢? 首先看看仙人掌有几种情况 situation1 两个比较分开的仙人掌…… 小恐龙按照这样走(跳),并没有什么特殊操作.这时的最

纪中17日T1 2321. 方程

纪中17日T1 2321. 方程 (File IO): input:cti.in output:cti.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 Goto ProblemSet 题目描述 输入 输出 样例输入 样例输出 数据范围限制 提示 吐槽 这些图片太模糊了吧…… 还有那吓人的 mod 998244353 都使得我们对这道题的恐惧感叠加了998244353层…… 没想到……只有三种答案!(三进制呵呵哒) Solution (约定:用line[i]表示第

纪中23日c组T3 2161. 【2017.7.11普及】围攻

2161. 围攻 (File IO): input:siege.in output:siege.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 Goto ProblemSet 题目描述 经过刘邦的严密缉查,项羽的位置也就水落石出了.刘邦便趁机集合军队,进行对项羽的围攻.为了增加胜率,张良研究出一种全新的战法,目的就是一举打败难缠的项羽.  这种军队共有N个单位,一个接着一个排成一排,每个单位可以是士兵,或者是战车,这样的组合可以爆发出意想不到的强大战斗力:但有一

纪中10日T1 2300. 【noip普及组第一题】模板题

2300. [noip普及组第一题]模板题 (File IO): input:template.in output:template.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 题目描述 输入 输出 样例输入 样例输出 数据范围限制 朴素算法 考试开始的前一个小时我一直在折腾朴素算法 -> 对拍 1 #pragma GCC optimize(2) 2 #include<bits/stdc++.h> 3 #define IL inline 4 usin

纪中5日T3 1566. 幸运锁(lucky.pas/c/cpp)

1566. 幸运锁(lucky.pas/c/cpp) 题目描述 有一把幸运锁,打开它将会给你带来好运,但开锁时需要输入一个正整数(没有前导0).幸运锁有一种运算,对于一个正整数,返回他的相邻两位数字间的差,如1135,运算结果为22(会去掉前导0). 现在已知只有经过反复运算最终结果为7的数才能打开这把锁,给你一个区间[a,b],问该区间中有多少个能打开幸运锁的幸运数. 输入 第一行两个整数a,b. 输出 一个整数K,表示共有多少个这样的数. 样例输入 1 10 样例输出 1 数据范围限制 [限

纪中10日T3 2296. 神殿 bfs

原文地址:https://www.cnblogs.com/send-off-a-friend/p/11330414.html

纪中……结束了……

纪中25日 纪中二十多天的生活,就这样结束了. 带着没有离开c组的遗憾,结束了. 算是日久生情吧,中山纪念学校,于我而言,已经成为了一段无法忘记的记忆. 但是……仅仅只能一遍又一遍的回忆了. 科学馆三层楼的机房,是我们一起学习的地方,有说笑,有模拟赛:有爆零,有AK. 最重要的还是,大家都在一起,有陪伴吧. 同来望月人何处,风影依稀似去年. 原文地址:https://www.cnblogs.com/send-off-a-friend/p/11407424.html

2017年8月14日套题记录 | 普及组

写在前面 今天登洛谷发现离Noip剩下88天了??(虽然看起有点久),然后觉得似乎水了一个暑假什么也没做(虽然学了点数据结构和一些奇奇Gaygay的东西),于是打开题库发现去年Long Happy的集训套题我似乎没有提交过,那就一天一套题,顺便码个题解+心得(雾? T2.传作业 题目描述 某十三同学一日上学迟到,此时已经开始上早自习了,所以他只好请同学帮忙把作业传到组长那里.由于刚开学不久,某十三同学还没来得及认识所有同学,所以传作业时只好找熟悉的同学.已知某十三与组长之间有N个他熟悉的同学,并

零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月20日周三】

老师讲的所有实验记录 1.写一个脚本,判断用户是否存在,如果存在则删除.若不存在,就提示不存在. 2.三个数字比大小,输出最大的 3.三个数字比大小,并且按从大到小排列 4.画斜线正反 5.达到如下效果 * *** ***** ******* ********* 6.写一个9*9乘法表 7.画一个平行四边形 8.连乘算法 while和until 9.要求根据userlist创建用户,要求指定用户名,用户id,用户的附加组及变更用户u密码,若对应用户的附加组不存在,则将附加组创建出来后再根据要求添