自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 信息学奥赛一本通【动态规划】1264:【例9.8】合唱队形

N位同学站成一排,音乐老师要请其中的(N−K)位同学出列,使得剩下的KK位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K他们的身高分别为T1,T2,…,TK则他们的身高满足T1TK(1≤i≤K)。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入的第一行是一个整数N(2≤N≤100),表示同学的总数。第二行有n个整数,用空格分隔,第i个整数Ti(130≤Ti≤230)是第i位

2022-09-24 17:25:47 774 1

原创 信息学奥赛一本通【动态规划】1261:【例9.5】城市交通路网

下图表示城市之间的交通路网,线段上的数字表示费用,单向通行由A->E。试用动态规划的最优化原理求出A->E的最省费用。【输入】第一行为城市的数量N。后面是N*N的表示两个城市间费用组成的矩阵。【输出】第一行 A->E的最省费用。第二行 A->E的最短路径。

2022-09-04 10:47:48 667

原创 【信息学奥赛一本通】1215:迷宫(bfs版)

同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。每组测试数据的第1行是一个正整数n(1≤n≤100),表示迷宫的规模是n×n的。接下来是一个n×n的矩阵,矩阵中的元素为‘再接下来一行是4个整数ha,la,hb,lb,描述A处在第ha行, 第la列,B处在第hb行, 第lb列。一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n×n的格点组成,每个格点只有2种状态,.

2022-08-28 11:20:14 601

原创 【信息学奥赛一本通】1215:迷宫(dfs版)

同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。每组测试数据的第1行是一个正整数n(1≤n≤100),表示迷宫的规模是n×n的。接下来是一个n×n的矩阵,矩阵中的元素为‘再接下来一行是4个整数ha,la,hb,lb,描述A处在第ha行, 第la列,B处在第hb行, 第lb列。一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n×n的格点组成,每个格点只有2种状态,.

2022-08-28 11:00:52 1017 1

原创 【信息奥赛一本通】1203:扩号匹配问题

在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?“标注...

2022-08-27 17:40:09 817

原创 素数筛选:普通,埃氏筛,欧拉筛

如何找到1-N间所有质数。介绍三种方法,从易到难,从慢到快1.普通筛法,就是直接用质数的定义来做代码:#include<bits/stdc++.h>using namespace std;int main(){ int i,j,n; bool p=true; cin>>n; for(i=2;i<=n;i++) { p=1; for(j=2;j*j<=i;j++) { if(i%j==0)//能被其它数整除,说明不是质数

2022-03-20 15:32:21 279

原创 洛谷 P1464 Function

题目描述对于一个递归函数w(a,b,c)w(a,b,c)如果a≤0or b≤0or c≤0就返回值1. 如果a>20 orb>20 orc>20就返回w(20,20,20) 如果a<b并且b<c就返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c) 其它的情况就返回w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1)输入格式会有若干行。并以-1,-1,-1结束。输出格式...

2022-03-13 10:00:18 520

原创 洛谷 P1002 过河卒

一道递归的基础题。题目描述:棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A 点 (0, 0)、B 点 (n, m),同样马的位置坐标是需要给出的。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。输入:一行四个正整数,分别表示 B 点坐标和马的坐标。输出:一

2022-01-24 20:21:25 502

原创 洛谷P1255 数楼梯

递推基础题。对于洛谷的测试,此方法可以AC。acwing不行。此问题就是个斐波那契数列f(x)=f(x-1)+f(x-2)。但由于数据过大,只能再用高精配合思路:1.定义三个数组,分别代表f(x)、f(x-1)、f(x-2)。2.一个递推函数3.一个高精度函数4.一个复制函数,在x值变化时改变三个数组的对应值首先是主函数代码:int main(){ memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,

2022-01-09 11:52:32 507

原创 洛谷P1009阶乘之和

为了做数楼梯,必须先把高精度搞明白,于是从这道题入手。解决两个问题:1.高精度阶乘 2.高精度加法。问题一,打了半小时结果发现打成了乘方高精度乘法对于洛谷书上的解法感觉太复杂。因为这题的数据不算非常大,没必要定义两个数组,把每个数字都拆开。可以只拆一个另一个保持原样,依次相乘,再处理数组即可代码:1.阶乘void jiechen(int k){ int i,m=2; memset(b,0,sizeof(b)); b[0]=1; while(m<=k) {

2022-01-09 09:28:26 183

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除