数列p3228 2013 hnoi

P4309 [TJOI2013] 最长上升子序列题解

P4309 [TJOI2013] 最长上升子序列题解 正文 单调队列?单调锤子队列!! 本题的操作可以省略成: 单点修改 区间查询 好极了,此时我们有两种选择: 线段树和树状数组,(平衡树,真不会,下一位 因为不需要其他操作,所以我们还是选择更小巧更可爱的树状数组吧。 关于vector vector ......
题解 序列 P4309 4309 2013

38.外观数列(中等)

目录题目法一、双指针法二、递归 题目 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) = "1" countAndSay(n) 是对 c ......
数列 外观 38

斐波那契数列 (指针)

//指针 #include <bits/stdc++.h> using namespace std; int sum(int *a){ int b=*a-1,c=*a-2; if(*a<=2){ return 1; }else{ return sum(&b)+sum(&c); } } int mai ......
数列 指针

斐波那契数列 (按值)

//按值 #include <bits/stdc++.h> using namespace std; int sum(int a){ if(a<=2){ return 1; }else{ return sum(a-1)+sum(a-2); } } int main(){ int x,c,d; cin ......
数列

斐波那契数列 (地址)

//地址 #include <bits/stdc++.h> using namespace std; int sum(int &a){ int b,c; b=a-1; c=a-2; if(a<=2){ return 1; }else{ return sum(b)+sum(c); } } int ma ......
数列 地址

斐波那契数列&数值传递

#include <iostream> using namespace std; int p1(int a){ if(a<=2){ return 1; }else{ return p1(a-1)+p1(a-2); } } int main(){ int n; cin>>n; cout<<p1(n); ......
数列 数值 amp

斐波那契数列(递归)

#include<iostream> using namespace std; int s(int n){ if(n<=2){ return 1; }else{ return s(n-1)+s(n-2); } } int main(){ int n; cin>>n; cout<<s(n); retu ......
数列

斐波那契数列 (递推)

#include<iostream> using namespace std; int main(){ int f[101],n; cin>>n; f[1]=1;f[2]=1; for(int i=3;i<=n;i++){ f[i]=f[i-1]+f[i-2]; } for(int i=1;i<=n ......
数列

斐波那契数列(地址传递)

#include <bits/stdc++.h> using namespace std; int NUM ( int &a) { int b=a-1; int c=a-2; if(a<=2) return 1; else return NUM(b) + NUM (c); } int main() ......
数列 地址

斐波那契数列(指针传递)

#include <bits/stdc++.h> using namespace std; int NUM ( int *a) { int b=*a-1; int c=*a-2; if(*a<=2) return 1; else return NUM(&b) + NUM (&c); } int ma ......
数列 指针

斐波那契数列--按值--地址--指针

//按值 #include <bits/stdc++.h> using namespace std; int sum(int a){ if(a<=2){ return 1; }else{ return sum(a-1)+sum(a-2); } } int main(){ int x,c,d; cin ......
数列 指针 地址

斐波那契数列(按值传递)

#include <bits/stdc++.h> using namespace std; int NUM ( int a) { if(a<2) return a; else return NUM(a-1) + NUM (a-2); } int main() { int NUMx , NUMy; c ......
数列

[TJOI2013] 松鼠聚会 题解

[TJOI2013] 松鼠聚会 题解 切比雪夫距离 切比雪夫距离指的是在平面上的两个点\((x_1,y_1)\),\((x_2,y_2)\)之间横纵坐标之差绝对值中的大者。用公式表示则是\(f(a,b)=max(|x_a-x_b|,|y_a-y_b|)\)。 切比雪夫距离与曼哈顿距离之间可以相互转换 ......
题解 松鼠 TJOI 2013

[NOIP 2013提高组]货车运输 题解

[NOIP 2013提高组]货车运输题解 前置知识 Kruskal 重构树(内含讲解)+任意一种LCA 题目翻译 \(n\)座城市,\(m\)条道路,\(q\)次询问,每次求两个点\(x,y\)之间所有路径的最小值的最大值。 题目分析 其实学了Kruskal重构树差不多看到这个题目就知道怎么写了。 ......
题解 货车 NOIP 2013

软考系列(系统架构师)- 2013年系统架构师软考案例分析考点

试题一 软件架构(根据描述填表、ESB 定义和功能) 【问题1】(10分) 服务建模是对Ramp Coordination信息系统进行集成的首要工作,公司的架构师首先对Ramp Coordination信息系统进行服务建模,识别出系统中的两个主要业务服务组件: (1) Ramp Control:负责 ......
架构 系统 考点 案例分析 案例

P3239 [HNOI2015] 亚瑟王

P3239 bzoj #4008 根据期望的线性性,我们设 \(E_i,P_i\) 分别表示第 \(i\) 张卡牌期望造成伤害和第 \(i\) 张卡牌被选择的概率。我们可以知道: \[\begin{align} Ans &= \sum\limits_{i=1}^{n} E_i \\ &= \sum\ ......
P3239 3239 2015 HNOI

【洛谷 8682】[蓝桥杯 2019 省 B] 等差数列

# [蓝桥杯 2019 省 B] 等差数列 ## 题目描述 数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 $N$ 个整数。 现在给出这 $N$ 个整数,小明想知道包含这 $N$ 个整数的最短的等差数列有几项? ## 输入格式 输入的第一行包含一个整数 $N$ ......
等差 蓝桥 数列 8682 2019

P3989 [SHOI2013] 阶乘字符串

P3989 bzoj #4416 先考虑部分分,看到 \(n \leq 20\) 容易想到这个部分可以用状压 起初可以设 \(dp_{S,i}\) 表示在前 \(i\) 个数中选出集合 \(S\) 中的字母是否可行,转移即枚举下一个字母是什么 这个 dp 有一个很显然的性质:他肯定是前缀一段 \(0 ......
阶乘 字符串 字符 P3989 3989

P1182 数列分段 Section II

P1182 数列分段 Section II 再一次对位单杀18年的我 \(2018 0pts\) #include<cctype> #include<cstdio> #include<algorithm> using std::sort; int n,a[100010],QZ_sum[100010] ......
数列 Section P1182 1182 II

【洛谷 8601】 [蓝桥杯 2013 省 A] 剪格子

# [蓝桥杯 2013 省 A] 剪格子 ## 题目描述 如图 $1$ 所示,$3\times 3$ 的格子中填写了一些整数。 ![](https://cdn.luogu.com.cn/upload/image_hosting/hsfjsi38.png) 我们沿着图中的红色线剪开,得到两个部分,每个 ......
蓝桥 格子 8601 2013

P4823 [TJOI2013] 拯救小矮人

发现无论选择哪些逃跑的小矮人,只要存在可行逃跑顺序,那么按逃跑能力从弱到强依次逃跑肯定可行。这或许难以理解,但只要将逃跑的过程反过来就豁然开朗了:人梯高度单调不降,如果逃跑能力弱的都能够到,那还不如让逃跑能力强的先来增高。 所以排序后就可以 DP 了,令 \(f_{i,j}\) 表示前 \(i\) ......
P4823 4823 2013 TJOI

算法笔记(6)数列分块

原发表于我的博客 前言 分块不能说是一种数据结构,它是一种思想,无论是数列分块,块状链表,还是数论分块,莫队算法,都应用了分块的思想。 本文主要介绍狭义上的分块,即数列分块。 数列分块的引入 数列分块可以说是暴力,一种优美的暴力,它的基本思路是,把数列分成若干块(一般取\(\sqrt n\)),分块 ......
数列 算法 笔记

区间加等比数列

https://www.luogu.com.cn/problem/U329489给出一个长度为 n 的数列 接下来进行 m 次操作1 l r k ai = l ~ r A[i] += k * a ^ (i - l)2 l r k ai = l ~ r sum A[i] * k * a ^ (i - ......
数列 区间

[HNOI2010] 平面图判定-平面图性质、带权并查集/2-sat

[HNOI2010] 平面图判定-平面图性质、带权并查集/2-sat https://www.luogu.com.cn/problem/P3209 题意:给一张 \(n\) 个点,\(m\) 条边的哈密顿图,并且哈密顿回路已知,问是否是平面图,\(T\) 组询问。 \(1\leq T\leq 100 ......
平面图 平面 性质 HNOI 2010

【洛谷 8597】 [蓝桥杯 2013 省 B] 翻硬币

# [蓝桥杯 2013 省 B] 翻硬币 ## 题目背景 小明正在玩一个“翻硬币”的游戏。 ## 题目描述 桌上放着排成一排的若干硬币。我们用 `*` 表示正面,用 `o` 表示反面(是小写字母,不是零),比如可能情形是 `**oo***oooo`,如果同时翻转左边的两个硬币,则变为 `oooo** ......
蓝桥 硬币 8597 2013

卡特兰数 Catalan 数列

卡特兰数 Catalan 数列 引入 有一个无限大的栈,进栈的顺序为 \(1,2,\cdots,n\),求有多少种不同的出栈序列。 设 \(h[n]\) 为 \(n\) 个数的出栈序列方案数。 可以这样想 \(k\) 是最后一个出栈的数,那么比 \(k\) 早进栈早出栈的有 \(k-1\) 个,方案 ......
卡特兰 数列 Catalan

22_生成斐波那契数列

1.斐波那契数列 #!/bin/bash # 斐波那契数列后一个数字永远是前 2 个数字之和 # 0 1 1 2 3 5 8 13 21 34 55 89 arr=(0 1) # 方法1 function fb1() { for i in $(seq 2 11); do arr[$i]=$(expr ......
数列 22

用动态规划解决斐波那契数列问题

def feibo(n): """ 利用列表下标表示n,只需要计算出下标对应的列表值即可 :param n: :return: """ # 定义列表 li = [1] * (n + 1) # 初始化前两项,便于计算前两项的和,即为开始边界 li[0] = 1 li[1] = 1 # 定义右边边界,即 ......
数列 动态 问题

[SDOI2013] 泉

考虑容斥。 我们记至少有 \(i\) 个指标相同的年份对数为 \(f_i\),那么最终答案为: \[\sum_{i=k}^n (-1)^{i-k}\times f_i \]\(f_i\) 可以通过枚举状态,之后通过字符串哈希来计数得到(注意指标只有 \(6\) 个)。字符串哈希可以把 base 设为 ......
SDOI 2013

递归之斐波那契数列,爬楼梯问题

什么是递归呢? 一个大的问题f(n)可以被拆解为小一点的问题f(n-1)和f(n-2),……直到然后拆到最小的问题f(1)和f(2)。很多人把从大往小算的形式称作递归 我们用一个题目引入: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼 ......
数列 楼梯 问题