mcfx's blog

题解、Writeup、游记和碎碎念

BZOJ 2656: [Zjoi2012]数列(sequence)

小白和小蓝在一起上数学课,下课后老师留了一道作业,求下面这个数列的通项公式:
1.jpg
小白作为一个数学爱好者,很快就计算出了这个数列的通项公式。于是,小白告诉小蓝自己已经做出来了,但为了防止小蓝抄作业,小白并不想把公式公布出来。于是小白为了向小蓝证明自己的确做出来了此题以达到其炫耀的目的,想出了一个绝妙的方法:即让小蓝说一个正整数 N,小白则说出 的值,如果当 N 很大时小白仍能很快的说出正确答案,这就说明小白的确得到了公式。但这个方法有一个很大的漏洞:小蓝自己不会做,没法验证小白的答案是否正确。作为小蓝的好友,你能帮帮小蓝吗?

BZOJ 3884: 上帝与集合的正确用法

根据一些书上的记载,上帝的一次失败的创世经历是这样的:
第一天, 上帝创造了一个世界的基本元素,称做“元”。
第二天, 上帝创造了一个新的元素,称作“α”。“α”被定义为“元”构成的集合。容易发现,一共有两种不同的“α”。
第三天, 上帝又创造了一个新的元素,称作“β”。“β”被定义为“α”构成的集合。容易发现,一共有四种不同的“β”。
第四天, 上帝创造了新的元素“γ”,“γ”被定义为“β”的集合。显然,一共会有 16 种不同的“γ”。
如果按照这样下去,上帝创造的第四种元素将会有 65536 种,第五种元素将会有 2^65536 种。这将会是一个天文数字。
然而,上帝并没有预料到元素种类数的增长是如此的迅速。他想要让世界的元素丰富起来,因此,日复一日,年复一年,他重复地创造着新的元素……
然而不久,当上帝创造出最后一种元素“θ”时,他发现这世界的元素实在是太多了,以致于世界的容量不足,无法承受。因此在这一天,上帝毁灭了世界。
至今,上帝仍记得那次失败的创世经历,现在他想问问你,他最后一次创造的元素“θ”一共有多少种?
上帝觉得这个数字可能过于巨大而无法表示出来,因此你只需要回答这个数对 p 取模后的值即可。
你可以认为上帝从“α”到“θ”一共创造了 10^9 次元素,或 10^18 次,或者干脆 ∞ 次。
一句话题意:
1.png

Codeforces 723E. One-Way Reform

有一个无向图,nn 个点,mm 条边,无自环,无重边,现在要给每个边定方向,使得入度等于出度的点最多。

BZOJ 1041: [HAOI2008]圆上的整点

求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数。

BZOJ 1798: [Ahoi2009]Seq 维护序列

老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为 N 的数列,不妨设为 a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模 P 的值。

BZOJ 1407: [Noi2002]Savage

1407.jpg

BZOJ 1265: [AHOI2006]斐波卡契的兔子

卡卡开始养兔子了!妈妈给他买了一对刚出生的兔子,卡卡了解到兔子的繁殖规律是这样的:才出生的一对兔子在一个月后将第一次生出一胎 a 对兔子,接着在出生后的二个月又将生出 b 对兔子,在第三个月和以后每个月都会繁殖 c 对兔子。(a <= b <= c) 由斐波纳契数列我们知道兔子的繁殖速度是很快的,然而卡卡有兔子一样多的好朋友,卡卡想在 m 个月后有 k 对兔子,以便分给他们的好友,他的愿望是否能够实现呢?
[任务] 编写一个程序:从输入文件中读入输入信息;计算 m 个月后卡卡将有多少对兔子,设之为 P;计算如果 m 个月后卡卡要拥有至少 k 对兔子,那么开始时妈妈至少应该为卡卡购买多少对兔子,设之为 Q;将结果输出至输出文件。

BZOJ 1009: [HNOI2008]GT考试

阿申准备报名参加 GT 考试,准考证号为 N 位数 X1X2....Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字。他的不吉利数学 A1A2...Am(0<=Ai<=9)有 M 位,不出现是指 X1X2...Xn 中没有恰好一段等于 A1A2...Am. A1 和 X1 可以为 0

BZOJ 1089: [SCOI2003]严格 n 元树

如果一棵树的所有非叶节点都恰好有 n 个儿子,那么我们称它为严格 n 元树。如果该树中最底层的节点深度为 d (根的深度为 0),那么我们称它为一棵深度为 d 的严格 n 元树。例如,深度为 2 的严格 2 元树有三个,如下图:
1.jpg
给出 n, d,编程数出深度为 d 的 n 元树数目。

BZOJ 1002: [FJOI2007]轮状病毒

轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个 N 轮状基由圆环上 N 个不同的基原子和圆心处一个核原子构成的,2 个原子之间的边表示这 2 个原子之间的信息通道。如下图所示
bzoj1002.p1.png
N 轮状病毒的产生规律是在一个 N 轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有 16 个不同的 3 轮状病毒,如下图所示
bzoj1002.p2.png
现给定 n(N<=100),编程计算有多少个不同的 n 轮状病毒

1
2
3
4
5
6
7