自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 USACO----2021年1月铜组第二题Even More Odd Photos

USACO思维题,要注意细节。

2022-02-12 19:47:31 749

原创 C/C++ 岛

acm/oi等竞赛训练的一道好题,来自著名题集USACO,难度中等,主要考察思维,编码要注意细节。

2022-01-25 12:06:57 199

原创 SSLOJ——P1738.水洼的大小

水洼的大小题目描述:解法:1.bfs + dfs2.二维并查集思路都差不多,求出每个联通水洼的大小,并做上标记,在输出时上下左右相加就好了。CODE1:#include<iostream>#include<queue>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#define INF 0x3f3f3f3f#d

2022-01-14 22:11:52 478

原创 再遇堆叠稻草

正经做法是差分,但我突发奇想,能不能用一些有逼格 的算法呢?于是就有了这篇题解。#include<cmath>#include<iostream>#define re register#define ll long long#define INF 0x3f3f3f3f#define N (ll)1e6 + 10using namespace std;ll n,q,x[N],y[N],pos[N],add[N],a[N];ll b[N];inline void.

2022-01-02 23:00:08 221

原创 C/C++分块个人题单

分块题单

2021-12-04 16:33:14 672

原创 P1094 [NOIP2007 普及组] 纪念品分组

贪心&双指针的经典题。

2021-12-04 16:19:25 191

原创 P2661 [NOIP2015 提高组] 信息传递

NOIP2015 提高组-信息传递(非图论做法)学校模拟赛出了这道题,考场上只拿了20分,用dfs做的,据说正解是图论,但我就要用dfs写!!!。思路:如果用dfs写很简单,遍历每个点,从当前点开始搜,每到一个点就标记一下,走到重复的点就停止(找最小环长)。70分CODE:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define ll lon

2021-10-23 18:36:51 237

原创 C/C++ 租用游艇

租用游艇题目描述:样例&数据范围:思路:我们把样例画出来这明显是让我们求最短路呢,把每个出租站看成一个节点,每个节点到另一个节点都有一条有向边,跑一遍迪杰斯特拉就好了。CODE:#include <iostream>#include <cstdio>#include <cstring>#include <vector>#define ll long long#define INF 0x3f3f3f3fusing n

2021-10-10 15:54:02 398

原创 C++/C 虫食算

虫食算题目描述:样例:思路:模拟就好了!枚举的范围并不大,外层循环 * 内层循环最大才10510^5105次不到。要注意细节!CODE:#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#define ll long long#define INF 0x3f3f3f3fusing namespace std;ll n,x,ans;bool

2021-10-10 15:39:00 327

原创 腾讯大战360

腾讯大战360思路:1.floyed不行,时间复杂度太高了,考虑n2n^2n2或更快的算法。2.我们可以跑两遍迪杰斯特拉,分别以S与T为起点,最后一个循环找到总时间最短的节点。CODE:#include<iostream>#include<algorithm>#include<cstring>#define ll long long#define INF 0x3f3f3f3fusing namespace std;inline ll min1

2021-09-22 23:17:22 110

原创 C/C++——Smallest number

最小的数_DFS题目链接题意:给我们4个数,3个运算符,每次取出两个数、一个运算符计算出新的数,直到只剩下1个数,求最小的这个数。这道题数据很小,可以直接DFS。1.每次选出for套for选两个数,将运算出来的结果放在序列后面,最后答案必定在A[7]。2.记得结果变量的只要开大一点,要开到1e12。(每个数最大到1000,四个数相乘会到1e12)CODE:#include<iostream>#include<cstdio>#include<cst

2021-09-20 09:29:50 206

原创 P3146 [USACO16OPEN] 248 G

248G(区间DP)题目地址一道基础的区间DP题。状态:f[i][j]表示从i到j这段区间内的最大值。f[i][j]表示从i到j这段区间内的最大值。f[i][j]表示从i到j这段区间内的最大值。初始化: 一般根据题意来进行边界处理,这道题的边界是f[i][i]f[i][i]f[i][i].转移方程:但左右两个子区间最大值相等(可以合并)时,f[i][j]=max(f[i][j],其中一个子区间最大值+1)f[i][j] = max(f[i][j],其中一个子区间最大值 + 1)f[i

2021-09-12 14:08:29 136

原创 Luogu P1118 Backward Digit Sums G/S

Backward Digit Sums G/S(DFS & 杨辉三角)题目链接前言:又是一道USACO的题,他们的题一般来讲更重思维,对于编码的硬实力要求不是太高,一般来说,能想到正解,代码是很简洁的。思路:暴力解法:看到这道题,先是想到了一个合理的暴力解法,求出一个1~n的全排列,对于每个全排列都按照题目的要求算出最后一行的值,但很显然,时间复杂度是很高的,光是全排列就有1e9的规模了,更不用说每次生成出来模拟的常数。#include<iostream>#inc

2021-09-06 12:01:13 121

原创 C/C++ 与7无关的数

与7无关的数题目描述Attention:C++标准中禁止用main函数递归,正式比赛请勿使用。能使用是因为C语言标准较为宽松,一般能编译C++的编译器都能兼容C,但评测环境下不保证不会出现奇怪的错误。#include<iostream>#include<cstdlib>#define ll long long#define INF 0x3f3f3f3fusing namespace std;ll x,p = 1,ans;bool b = true;int

2021-08-26 21:02:53 1667

原创 C/C++ 陶陶摘苹果(main函数递归系列)

陶陶摘苹果题目描述Attention:C++标准中禁止用main函数递归,正式比赛请勿使用。能使用是因为C语言标准较为宽松,一般能编译C++的编译器都能兼容C,但评测环境下不保证不会出现奇怪的错误。#include<iostream>#include<cstdlib>#include<cmath>#define ll long long#define INF 0x3f3f3f3fusing namespace std;ll n,ans,p = 1

2021-08-26 20:58:47 1309

原创 C/C++最长公共字符串后缀(前缀)

最长公共字符串后缀题目描述:输入及输出样例:输入:3babaabacba2aacc2aaa0输出:baa思路:将每个字符串反转,就成了:最长公共字符串前缀找到长度最小的字符串,从前往后截取长度1~minn.size()的字符串,将这个匹配串与每个字符串去比较找到最后一个合法的匹配串,再反转回去,即为最大的公共后缀字符串。CODE:#include<iostream>#include<algorithm>#define ll

2021-08-07 18:22:15 1252

原创 AcWing P3793. 最大分数

最大分数题目描述:输入&输出&数据范围样例思路:非常典型的贪心,策略如下:1.将每个数列最小的m个负数相加,即为最优解。(如果不够m个也不加正数)#include<iostream>#include<queue>#define ll long long#define INF 0x3f3f3f3fusing namespace std;priority_queue<ll,deque<ll>,greater<

2021-08-07 16:50:50 73

原创 SSLOJ-P1770.数列

数列(模拟)小S今天给你出了一道找规律题,题目如下:有如下的数列1,11,21,1211,111221,312211,……小S问你这个数列的第N项是多少,而你一头雾水根本找不出规律。聪明的小R悄悄地告诉你是这样的1,上一个数是一个1,写作11上一个数是两个1,写作21上一个数是一个2,一个1,写作1211上一个数是一个1,一个2,两个1,写作111221,…………相信聪明的你一定可以解决这个问题。输入第一行包括一个正整数N。输出一行,一个正整数。输入样例 复制6输出

2021-07-21 15:16:57 130

原创 C/C++-Circular RMQ

Circular RMQ题目链接根据题目的时间与数据范围可知,本题要用到线段树。题目的大致意思就是线段树求环形区间最值问题。思路:难点1:这道题是一个环形数列,做题的时候千万不要看到环形就打退堂鼓了,其实仔细思考一下,解法还是很易得的。1.我们可以开两倍数组存原数列,树状数组也开两倍,但这样可能会MLE(因为我没试过)。2.我们也可以直接存,在输入询问端点时,用分类讨论法,我们设l,r为询问区间的左,右两端点,则:当l <= r时,不涉及到环,正常处理,如下图:但l &

2021-07-20 17:56:46 157

原创 C/C++噩梦

噩梦题意:给定一张 N×M 的地图,地图中有 1 个男孩,1 个女孩和 2 个鬼。字符 . 表示道路,字符 X 表示墙,字符 M 表示男孩的位置,字符 G 表示女孩的位置,字符 Z 表示鬼的位置。男孩每秒可以移动 3 个单位距离,女孩每秒可以移动 1 个单位距离,男孩和女孩只能朝上下左右四个方向移动。每个鬼占据的区域每秒可以向四周扩张 2 个单位距离,并且无视墙的阻挡,也就是在第 k 秒后所有与鬼的曼哈顿距离不超过 2k 的位置都会被鬼占领。注意: 每一秒鬼会先扩展,扩展完毕后男孩和女孩才可以

2021-07-19 17:16:18 214

原创 C/C++AT2412 [JOI 2007 Final]最大の和

最大的和题目链接题目让我们求:长度为N的数列中,连续K项的区间和的最大值。如:1 6 8 2 3假如K为3,那么有如下几段长度为K的区间:(下标从1开始)1−3,2−4,3−51-3,2-4,3-51−3,2−4,3−5区间和分别为:15,16,14。很显然,最大值为2-4这段区间,也就是16.本题前置知识:前缀和或线段树或树状数组,前缀和是这题的正解,但我不想用 。CODE:#include<iostream>#include<cstdio>

2021-07-18 13:28:14 140

原创 C/C++A + B题解

A + B众所周知,A + B是一道世界难题,俗话说:好钢要用在刀刃上,A + B要放在线段树上:CODE:#include<iostream>#include<cstdio>#include<algorithm>#define ll long long#define INF 0x3f3f3f3fusing namespace std;struct node{ ll l; ll r; ll sum;}st[20];void bui

2021-07-18 08:41:25 357

原创 C/C++最小消耗

最小消耗题目链接思路:1.先分情况讨论,怪物无非0和1,根据题意推出式子:当怪物是0时:ans = min(a,c + b);//要么直接用a魔法消灭,要么转化后再消灭当怪物是1时:ans = min(b,c + a);//同上#include<iostream>#include<cstring>#include<algorithm>#define ll long long#define INF 0x3f3f3f3fusing namesp

2021-07-17 22:41:21 176

原创 [NOI Online #3 提高组] 水壶

水壶题目地址题目描述:有 n 个容量无穷大的水壶,它们从 1∼n 编号,初始时 i 号水壶中装有 Ai 单位的水。你可以进行不超过 k 次操作,每次操作需要选择一个满足 1≤x≤n−1 的编号 x,然后把 x 号水壶中的水全部倒入 x+1 号水壶中。最后你可以任意选择恰好一个水壶,并喝掉水壶中所有的水。现在请你求出,你最多能喝到多少单位的水。输入与输出第一行一个正整数 n,表示水壶的个数。第二行一个非负整数 k,表示操作次数上限。第三行 n 个非负整数,相邻两个数用空格隔开,表示水壶

2021-07-14 12:13:54 568

原创 Acwing3761——唯一最小数

唯一最小数题目描述:给定一个长度为 n 的整数数组 a1,a2,…,an。请你找到数组中只出现过一次的数当中最小的那个数。输出找到的数的索引编号。a1 的索引编号为 1,a2 的索引编号为 2,…,an 的索引编号为 n。输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据第一行包含整数 n。第二行包含 n 个整数 a1,a2,…,an。输出格式每组数据输出一行结果,即满足条件的数的索引编号,如果不存在满足条件的数,则输出 −1 。数据范围1≤T≤2×104,

2021-07-09 18:53:49 127

原创 [UVA]P12554——A Special “Happy Birthday“ Song!!!

A Special “Happy Birthday” Song!!!题目地址前言:如你所见,这是道uva的冷门题。但因为是刘汝佳大神出的,据说还是纪念他的30岁生日,这道题就有了特别的意义。题意:废话不多讲,先看题(在考验我的英文:)):题意大概是这样:给你N个人,让他们唱我们熟悉的生日歌,每人每次只能唱一句,但每人在整场歌唱中至少要唱一句,并且,每次开一个新的头,就必须将整首歌唱完,也就是说,不能因为每人都唱过一次就不唱了。思路:这道题很容易就想到了模拟,先将一首歌的歌词记下来,再根据

2021-07-01 21:38:43 93

原创 [一本通]P1296:宠物小精灵之收服

宠物小精灵之收服(动态规划)题目地址题意:小智有精灵球N,体力M,以及共有K个小精灵。每一个小精灵都有它对应的精灵球数、体力数。问:在精灵球及体力>=0的前提下,最多能收服多少只小精灵,同时,剩余的最大体力值(注:在多种方案下,收服小精灵数一致且最多时,)...

2021-06-28 18:45:38 561

原创 C\C++洛谷P1776宝物筛选

宝物筛选(混合背包)前言:请读者在已知01背包、完全背包的推导过程,且有一定的DP基础的前提下,再来阅读本文,效果更佳。题意:小FF找到了N件宝物,每一件都有它的价值、重量、数量,小FF当然想全部拿走,但它有一个拉跨的 手推车,只能承受M的重量。求在重量不超过M的前提下,拿到的宝物价值最大!!!输入:第一行为N、M,接下来的N行为每一件宝物的价值、重量、数量。输出:最大价值!!!思路:大家应该都能看出来是一个混合背包:即集01背包、完全背包、多重背包于一身的杂交体,这类问题我们的普

2021-06-19 23:15:21 432 2

原创 C/C++-USACO混合牛奶

混合牛奶(贪心)题目地址思路:典型的贪心,即:对于每一个m的取值,我们都采用一个当前最优化的代价,从而达到总体最优化。CODE:#include<iostream>#include<algorithm>#include<map>#define ll long long#define x first#define y second#define INF 0x3f3f3f3fusing namespace std;pair<ll,ll&gt

2021-06-12 20:29:04 811

原创 分糖果(较简单)

分糖果题目描述:思路:这道题主要是两个难点1.均分的问题,这里可以直接除,因为C++里的整数变量是下取整的,所以自动过滤掉余数。2.怎样处理环的问题,这里我们可以进行特殊处理,即:特殊处理第1个人,第n个人。CODE:#include<iostream>#include<cstdio>#include<cstring>#include<map>#define ll long long#define INF 0x3f3f3f3f

2021-06-05 18:00:08 422 2

原创 Attention!(自我提醒)

就一件事,用了ios::sync_with_stdio(false),一定、一定、一定不能用c语言里的输入输出函数(如:getchar、putchar、scanf,printf、gets、puts等)!会出现问题,具体原因不清楚。

2021-05-31 22:20:04 71

原创 SSLOJ-松山湖游船

松山湖游船题意:输入:第一行输入三个整数n(1<=n<=20), m(1<=m<= 500 ) 和 W(1<=w<= 10000)。接下来n行输入n名游客的重量ci(1<=ci<=1000)。接下来m行,每行一个1到n之间的整数,表示游客的编号。表示该游客的上/下船,如果该游客已经在船上,那么该游客就下船,反之就上船。刚开始的时候所有游客都不在船上。输出:输出一个整数表示整个上下船过程中,船所受到的最大重量。如果最大重量超过了船的最大承重能

2021-05-31 18:16:00 164

原创 20210523普及组训练

SSLOJ——5.23套题(From USACO)1.算式运算题目描述:输入:第一行包含整数 N (1≤N≤9)。第二行包含 N 个整数,表示给定的数字,数据保证这 N 个数字互不相同。输出:输出一个整数,表示可以使得算式成立的总填法数量。样例:input:52 3 4 6 8output:1思路:这道题咋一看,嗯?这不是电风扇 (DFS)嘛?别急!再看看:1.这道题永远是三位数乘两位数2.计算过程中所有出现的数都由题目所给的N个数组成3.两个中间值必定是三位数,结

2021-05-29 13:21:05 87

原创 2021年CCCC天梯赛题解——L1组(未完待续)

2021年CCCC天梯赛题解——L1组1.人与神题目链接题意:让我们输出“To iterate is human, to recurse divine.”(和“hello,world!”没有什么区别)思路:so easy级别的题,直接看代码!#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(

2021-05-23 09:15:58 870

原创 NOIP2000 提高组:乘积最大

题目描述:今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例子:有一个数字串: 312,当N=3,K=1时会有以下两种分法:1

2021-05-05 11:52:56 1465

原创 NOIP2017普及组:棋盘

棋盘(DFS)题目描述:有一个m * m的棋盘,棋盘上每一个格子可能是红色、黄色或没有任何颜色的。你现在要从棋盘的最左上角走到棋盘的最右下角。任何一个时刻,你所站在的位置必须是有颜色的(不能是无色的), 你只能向上、 下、左、 右四个方向前进。当你从一个格子走向另一个格子时,如果两个格子的颜色相同,那你不需要花费金币;如果不同,则你需要花费 1个金币。另外, 你可以花费 2 个金币施展魔法让下一个无色格子暂时变为你指定的颜色。但这个魔法不能连续使用, 而且这个魔法的持续时间很短,也就是说,

2021-05-03 19:42:41 385

原创 Oliver的成绩(vector)

题目:Oliver进入初中后,觉得自己不能总是玩儿了,应该要好好学习了。正好一次考试结束了,Oliver想知道自己的语文,数学,英语分别与语文年级第一,数学年级第一,英语年级第一相差多少。由于Oliver所在年级有N个人,所以Oliver想你编个程序帮帮他。输入:共3N+4行,第一~三行分别为Oliver的语文数学英语成绩(位数M),第四行为N,以下3N行,每行一个数(它们的位数是M),分别为第N个同学的语文,数学,英语成绩。即:Oliver的语文Oliver的数学Oliver的英语N

2021-05-02 20:48:55 339

原创 控股公司

控股公司(usaco training 2.3)前言:本题强烈建议手画公司之间的关系图来辅助理解。????一些公司会通过购买其他公司的部分股份以达到控制这些公司的目的。一般来说,如果能够满足以下条件中的至少一项,则公司 A 将会控制公司 B:公司 A = 公司 B公司 A 持有公司 B 超过 50% 的股份公司 A 控制着 K 个公司,这些公司表示为 C1,C2,…,CK,公司 Ci 持有的公司 B 的股份为 Xi%,X1+…+XK>50注意:控股关系具有传递性,即如果公司 A

2021-03-08 22:27:48 138

原创 随笔(记录背包类DP问题的写法)

背包类DP1.01背包:时间:O(nv)#include<iostream>using namespace std;int n,m,v,w,f[1200];int main(){ cin >> n >> m; do //不能写成while,假如只有一个物品会出问题 { cin >> v >> w; for(int j = m;j >= v;--j)

2021-03-05 23:07:09 70

原创 P1825 [USACO11OPEN]Corn Maze S

Corn Maze S(玉米田迷宫)This past fall, Farmer John took the cows to visit a corn maze. But this wasn’t just any corn maze: it featured several gravity-powered teleporter slides, which cause cows to teleport instantly from one point in the maze to another. The

2021-02-28 22:42:54 226

空空如也

空空如也

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

TA关注的人

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