- 博客(13)
- 收藏
- 关注
原创 算法学习1.启发式迭代加深
知识点1.迭代加深定义:每次限定一个maxdepmaxdepmaxdep最大深度,使搜索树的深度不超过maxdepmaxdepmaxdep。 for(int maxdep=1;maxdep<=题目中给的最大步数;maxdep++){ dfs(0,maxdep);//0为出入函数中当前步数,maxdep为传入的最大深度。 if(success) break;//如果搜索成功则会在dfs函数中将success赋值为1。 }使用范围:1.在有一定的限制条件时使用,到达目标状态,则输出
2021-11-14 18:35:37
446
原创 模板搜集整理
1.快读inline int read(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') f=-1; ch=getchar(); } while(ch>='0'&&ch<='9'){ x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); } return x*f;}2.减少cin、cout耗费时
2021-10-20 23:09:05
242
原创 Islands and bridges
Description给定一些岛屿和一些连接岛屿的桥梁,大家都知道汉密尔顿路是访问每个岛屿一次的路线,在我们这个地图中,每个岛屿有个正整数的权值,表示这个岛屿的观赏价值。假设一共有N个岛屿,用Vi表示岛屿Ci的价值,汉密尔顿路C1C2…Cn的价值是以下三部分的总和:(1)所有岛屿的价值之和;(2)对于路径中相邻的两个岛屿Ci,Ci+1,把两个岛屿的价值之积加到总价值中;(3)路径中连续三个岛屿Ci,Ci+1,Ci+2,如果Ci与Ci+2有桥直接相连,则把这三个岛屿价值之积加到总价值中。要求计算汉密
2021-07-28 15:03:19
186
原创 NOIP2019提高组 day2
1.Emiya 家今天的饭题目描述Emiya 是个擅长做菜的高中生,他共掌握 nnn 种烹饪方法,且会使用 mmm 种主要食材做菜。为了方便叙述,我们对烹饪方法从 1∼n1 \sim n1∼n 编号,对主要食材从 1∼m1 \sim m1∼m 编号。Emiya 做的每道菜都将使用恰好一种烹饪方法与恰好一种主要食材。更具体地,Emiya 会做 ai,ja_{i,j}ai,j 道不同的使用烹饪方法 iii 和主要食材 jjj 的菜(1≤i≤n,1≤j≤m)(1 \leq i \leq n, 1 \leq
2021-07-27 15:20:43
505
原创 NOIP2017提高组 day2
1.奶酪题目描述现有一块大奶酪,它的高度为 hhh,它的长度和宽度我们可以认为是无限大的,奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系,在坐标系中,奶酪的下表面为 z=0z = 0z=0,奶酪的上表面为 z=hz = hz=h。现在,奶酪的下表面有一只小老鼠 Jerry,它知道奶酪中所有空洞的球心所在的坐标。如果两个空洞相切或是相交,则 Jerry 可以从其中一个空洞跑到另一个空洞,特别地,如果一个空洞与下表面相切或是相交,Jerry 则可以从奶酪下表面跑进空洞;如果一个空洞与
2021-07-23 08:52:54
313
原创 NOIP2017提高组 day1
1.小凯的疑惑题目描述小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。输入格式两个正整数 aaa 和 bbb,它们之间用一个空格隔开,表示小凯中金币的面值。输出格式一个正整数 NNN,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。输入输出样例输入 #13 7输出
2021-07-20 17:12:52
414
原创 NOIP2016提高组 day2
本题考察数学(组合数,杨辉三角,矩阵和)。由组合数性质,可以知道:组合数和杨辉三角是一一对应的。11 2 11 3 3 11 4 6 4 1所以C(i,j)C(i,j)C(i,j)的值就是第 iii 行 jjj 列只需预处理杨辉三角,再模kkk,每次询问只需O(1)O(1)O(1)的复杂度。AC代码:#include<bits/stdc++.h> //组合数问题using namespace std;const int maxn=2005;int c[maxn][max.
2021-07-19 12:06:46
216
原创 NOIP2016提高组 day1
1.玩具谜题题目描述小南有一套可爱的玩具小人, 它们各有不同的职业。有一天, 这些玩具小人把小南的眼镜藏了起来。 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外。如下图:这时singersingersinger告诉小南一个谜題: “眼镜藏在我左数第3个玩具小人的右数第111个玩具小人的左数第222个玩具小人那里。 ”小南发现, 这个谜题中玩具小人的朝向非常关键, 因为朝内和朝外的玩具小人的左右方向是相反的: 面朝圈内的玩具小人, 它的左边是顺时针方向, 右边是逆时针方向; 而面向
2021-07-19 11:44:18
387
原创 NOIP2013提高组 day2
1.积木大赛题目描述春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为nnn的大厦,大厦可以看成由nnn块宽度为111的积木组成,第iii块积木的最终高度需要是hih_ihi 。在搭建开始之前,没有任何积木(可以看成nnn块高度为000的积木)。接下来每次操作,小朋友们可以选择一段连续区间[l,r][l, r][l,r],然后将第LLL块到第 RRR 块之间(含第LLL块和第 RRR块)所有积木的高度分别增加111。小MMM是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得
2021-07-13 18:02:40
465
原创 NOIP2013提高组 day1
这道题考察的是数学推导和快速幂取模从0号开始推,发现只需加上每次走的距离*次数再mod总人数就是答案,其他情况同理。所以就有公式ansansans === (x+m∗10k)(x+m*10^k)(x+m∗10k) modmodmod nnnAC代码如下#include<bits/stdc++.h> //转圈游戏 using namespace std;int main(){ //freopen("circle.in","r",stdin); //freopen("circ
2021-07-11 23:40:21
186
原创 最大公约数 四种求法
最大公约数总时间限制: 1000ms 内存限制: 65536kB描述给定两个正整数,求它们的最大公约数。输入有多组数据,每行为两个正整数,且不超过int可以表示的范围。输出每行对应输出最大公约数。样例输入4 88 6200 300样例输出42100提示系统的测试文件中数据有很多组,因此同学们在程序里要写循环读取数据并判断是否读完文件的代码。如果不知道如何处理,可以参考下面的两个模板:C++这样写:while(cin>>x>>y){求x和
2021-06-01 19:37:23
575
原创 A Simple Problem with Integers
A Simple Problem with Integers总时间限制: 5000ms单个测试点时间限制: 2000ms内存限制: 65536kB描述You have N integers, A1, A2, … , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The ot
2021-05-27 20:05:54
174
原创 最大值(区间修改)
**最大值(区间修改)(C++)总时间限制: 10000ms单个测试点时间限制: 1000ms内存限制: 65536kB描述在N(1<=n<=100000)个数A1…An组成的序列上进行M(1<=m<=100000)次操作,操作有两种:(1)1 LR C:表示把A[L]到A[R]增加C(C的绝对值不超过10000);(2)2 LR:询问A[L]到A[R]之间的最大值。输入第一行输入N(1<=N<=100000),表示序列的长度,接下来N行输入原始序列
2021-05-27 19:45:13
506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人