T1

牛牛刚学习了输入输出,他遇到了一道这样的题目。
输入2个整数a和b
保证输入的a和b在long long范围之内,即满足
-9223372036854775808 <= a, b <= 9223372036854775807
计算a+b的值,即这两个数字的和。
如果a+b在long long范围之内,即满足
-9223372036854775808 <= a + b <= 9223372036854775807
那么输出一行一个整数表示a+b的结果。
如果a+b不在long long范围之内,即越界了,那么输出"hello, %lld\n",包含引号。
具体可以参见样例。
 
题解:
题目虽然简单,但是还是值得一做。
关于判断a+b,
1.a、b异号或者一个是0,那么输出a+b即可。
反之,用高精判断。
高精比较麻烦的。
如果上限是C,A+B<=C等价于A<=C-B即可。
下限同理可以处理。
甚至有人利用溢出原理。
a、b同号,如果a+b不是同号,那么就溢出了。
 
然后,输出"hello, %lld\n"怎么办?
考察转义。
输出",就输出\"
输出%,就输出%%
输出\,就输出\\
所以,
printf("\"hello,%%lld\\n\"");
 

T2T3略

T4:
合法括号序列

键盘上有左括号(,右括号),和退格键-,共三个键。
牛牛希望按键n次,使得输入的字符串恰好一个合法的括号序列。
每按一次左括号(,字符串末尾追加一个左括号(
每按一次右括号),字符串末尾追加一个右括号)
每按一次退格键-,会删掉字符串的最后一个字符,
特别的,如果字符串为空,牛牛也可以按退格,但是什么都不会发生。

输出方案数对p取模,注意p可能不是质数。
注:只要按键方法不同,就是不同的方案,即使得到的序列一样。
对于所有数据: 2 <= n <= 1000, 2 <= p <= 10000
30分: n <= 40
70分: n <= 100
 
题解:
可以发现(我想不到),

方案数和具体括号序列无关,只和最终括号序列长度有关。

因为就这么多剩下的,那么管他是什么字符呢?

所以问题分成两个部分。

枚举括号序列的长度2k,

1.计算出来对于每一个长度2k,合法的括号序有多少个。

2.对于长度为2k的序列,方案数有多少。

乘法原理再加法原理即可。

对于1,是一个卡特兰数。

可以看:卡特兰数Catalan——定义、公式、模型总结

具体证明,可以直接转化成火车出栈顺序,或者走到(i,i)方案数。

预处理组合数。递推或者直接C(2n,n)-C(2n,n-1)

对于2,设f[i][j]表示,前i次操作后,序列长度为j的方案数。

f[i][j]=f[i-1][max(0,j-1)]+2*f[i-1][j+1]

为什么删除的操作转移有一个2

因为我们的f[i][j]其实也是一个可以变化成任意一个的合法序列,所以每个位置的填法要么是),或(,唯一确定的。

但是把这个位置删了,那么就可以“反悔”地把上一位随便填。

最新文章

  1. i2c 读写
  2. Webview 与h5的交互
  3. iOS YSMine 通用设置
  4. JVM中的垃圾收集算法和Heap分区简记
  5. opencv笔记5:频域和空域的一点理解
  6. Code(组合数学)
  7. Nginx详细配置
  8. (转)Objective-C中的instancetype和id区别
  9. 【HDOJ】5203 Rikka with wood sticks
  10. supervisor 部署文档
  11. 武汉科技大学ACM:1001: 猴子选大王
  12. 手把手教你学习FPGA系列视频教程_救护车鸣笛声
  13. Tengine笔记1:安装Tengine和Tengine说明
  14. Java日期的格式String类型GMT,GST换算成日期Date种类
  15. 深入理解typedef
  16. [js高手之路]HTML标签解释成DOM节点
  17. Linux系统管理命令(1)accton的使用
  18. Throwable.异常
  19. 深度链接(DeepLinking)怎样免费实现
  20. 【原创】平时的你VS面试的你

热门文章

  1. 详细介绍redis的集群功能,带你了解真正意义上的分布式
  2. 华为笔试——C++最高分问题
  3. 在Gulp中使用BrowserSync
  4. Task 6.3 冲刺Two之站立会议2
  5. sqlserver实现树形结构递归查询(无限极分类)
  6. javascript 容易忘记方法集锦
  7. [转帖]高通推出八核笔电处理器骁龙8cx 能超英特尔吗?
  8. d指针在Qt上的应用及实现(有图,很清楚)
  9. Windows系统下Log4Net+FileBeat+ELK日志分析系统问题总结
  10. C# QR二维码DEMO