自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 双指针学习笔记

思路在考虑问题的时候,可以先从暴力入手,找到头绪,然后再优化算法。双指针问题需要数组具有一定单调性质,找出单调性质以后可以将时间复杂度优化。

2022-07-17 14:48:31 117 1

原创 一维差分的简便思想

一维差分的思想

2022-07-12 13:23:45 119

原创 二分查找的简单方法

#算法日记---二分查找的简洁写法

2022-07-12 11:37:47 121

原创 USACO silver 18 JAN T1

题目链接http://www.usaco.org/index.phppage=viewproblem2&cpid=786思路先按照开始时间从小到大排序,把总覆盖时间求出来在用第二个for循环把最小单独覆盖的求出来#include<bits/stdc++.h>//#define long long intusing namespace std;const int N = 1e5+5;struct node{ int l,r;}line[N];int n;bool

2021-08-12 21:46:16 155

原创 日更计划Day9 倍增优化实现与运用

倍增思想倍增是一种基于二进制的优化方法,最重要的两点运用是求RMQ问题以及LCA问题。RMQ问题倍增思想在RMQ中的运用结合了区间DP的思想–从小区间,推到大区间dp[i][j]:以i位置开始,长度为2j区间内的Max/Min值dp[i][j]: 以i位置开始,长度为2^j区间内的Max/Min值dp[i][j]:以i位置开始,长度为2j区间内的Max/Min值递推公式: dp[i][j]=max(dp[i][j−1],dp[i+2j][j−1])dp[i][j] = max(dp[i][j-

2021-03-21 20:02:38 72

原创 日更计划Day8 麻将

题目传送门思路发现数据范围允许我们枚举每一张牌作为听牌,并且可以枚举每个有可能成为对子的牌,所以直接枚举即可。由于枚举的数量较多,循环嵌套可以使用函数封装的办法。这样可以使代码更加简洁清晰。但是我没用代码/*这一题的难点我认为在多层循环中的信息传递,如题,我用了两个信号变量--flag和outter,如果能够把内两层循环封装进函数内,会清晰且方便许多。 */#include<bits/stdc++.h>using namespace std;const int N = 50

2021-03-20 21:44:04 53

原创 日更计划Day7 USACO21FEBsilver T2

题目意思给定一些点,如果一个点的周围四个点上有三个点被占据则需要加一个点把第四个位置堵住,有Q次询问,每一次询问输出当棋盘上只有i个点的时候,需要花几个点去堵,来保证没有点周围恰好有三个点。题目传送门题目思路由于新加入的点只会影响自己的四周,所以每加入一个点遍历四个方向的点,如果这四个方向中的某一个方向有点并且这个点的四周有三个牛,说明新加入的让前面那个点舒服了,于是我们需要在第四个位置放置一颗棋子用来堵住。防止完成后,我们需要检查新的棋子,坐上面相同的操作。如果加入一个棋子后周围四个点中某一

2021-03-15 20:37:18 146

原创 日更计划Day6 线段树的更新操作以及区间和查询

ss

2021-03-15 20:07:37 55

原创 日更计划Day5 CCC seniorT4

题目描述有N个车站,每天有两个站台会互相交换位置。每天都需要从1出发走到n号站台,每一分钟有两种选择,可以按照当前站台顺序前往下一个站台,或者利用当前站台的秘密通道前往一个其他站台。题目链接思路观察发现如果需要走秘密通道,则不可能在后面等车。因为如果过了秘密通道还要等车的话则失去了秘密通道的意义。秘密通道的意义就在于能够比一站一站走更快捷。因此,想到可以使用最短路求解。我们希望知道所有点通过秘密通道到达n点的距离,由于所有边长都是1,可以使用BFS和反向建图求解最短路。同时要维护站台里出发点的位

2021-03-13 16:22:39 143

原创 日更计划Day4 CCC senior T3

题目描述有一条数轴,上面有N个点,每一个点又一个固定的速度和听力范围,现在C位置有一个音乐会,问所有点到C点用时最少是多少。题目链接思路对于前两个得分点,直接枚举数轴上所有点和每个人到那个点所花时间。对于第二组数据,P明显上升,于是不能够再一个一个算每个人到c的时间了,于是运用前缀和快速计算。求c前面点的公式∑(C−(P+D))×W \sum (C-(P+D)) \times W∑(C−(P+D))×W拆开得C×∑Wi−∑(Pi+Di)×Wi C \times \sum W_i - \sum(

2021-03-13 16:13:25 115

原创 日更计划Day3 CSP-J2019第四题

题目描述有一个无向图,一号节点为0,无限更新相邻节点,每次更新为相邻节点编号加一。共有q次询问,分别询问对于i点是否更新过pi值。[题目传送门](http://hzjingma.com/?#/problem/6003)错误思路分析一开始看到这题时,我以为将所有节点用BFS更新一次,然后询问你找到所有相邻节点看看包含的最小奇数和偶数是否能够满足询问的数字。但是没有仔细看第二个例子,发现询问1,5时,我的程序并不会从1绕一圈跑回来因此得到5这个答案,所以这个办法行不通。//错误思路代码#inc

2021-03-11 12:47:04 99

原创 日更计划Day2 USACO Feb Silver T2

题目描述有一条枢轴,可以通过传送门传到12的倍数点上,给定N个数轴上的点,需要全部走到,最多使用k次传送门,求最短路程。题目链接解题思路由于要经过每一个点,那么每一个点后面的第一个12倍数以及前面的12倍数是必走的。把没有点的区间长度排序,用k来跳过最长的k个区间。最远的一个点必须经过,所以最后的答案就是最后一个点的后一个12倍数减去跳过的区间长度。#include<bits/stdc++.h>//#include "stdc++.h"//#define int long l

2021-03-09 10:49:10 96

原创 日更计划Day1 USACO Feb BronzeT3

题目大意农夫修墙,NSEW四个方向乱修,最后一定回到起点,求这个环路是顺时针还是逆时针。 点击此处查看详情解决思路通过思考,我们可以发现其中很多步骤是无用功,而最终回到起点时一定转了360度,假设四个方向分别为0,90,180,270度,最终回到起点时候,如果结果是-360度,则是逆时针旋转。在这里插入代码片...

2021-03-08 22:04:56 134

原创 USACO2017DECp3

#include <bits/stdc++.h>using namespace std;const int N = 1e2+10;int n;map<string,int>amou;struct node{ int day; string name; int change;}cows[N];string cow[] = {"Bessie","Elsie","Mildred"};bool cmp(node a, node b){ ret

2020-12-27 17:32:16 120

原创 USACO2020DEC B

P1Farmer John 的奶牛正在 “mooZ” 视频会议平台上举行每日集会。她们发明了一个简单的数字游戏,为会议增添一些乐趣。Elsie 有三个正整数 A、B 和 C(A≤B≤C)。这些数字是保密的,她不会直接透露给她的姐妹 Bessie。她告诉 Bessie 七个范围在 1…109 之间的整数(不一定各不相同),并宣称这是 A、B、C、A+B、B+C、C+A 和 A+B+C 的某种排列。给定这七个整数,请帮助 Bessie 求出 A、B 和 C。可以证明,答案是唯一的。//sol 1//思

2020-12-27 16:00:43 430

原创 BFS广度优先搜索

寻找迷宫最短路。由于BFS的性质是一步一步往下找,像水波一样,自身周围有路先把每个第一步都走完在走下一步。代码实现使用队列。 首先把出发点入队,然后搜索周边的点,把他们分别放入队列一个一个解决掉;#include<iostream>#include<cmath>#include<algorithm>#include<stack>#include<queue>using namespace std;int n,m;const

2020-09-01 17:17:36 82

原创 用二维前缀和求相同字段

#include <iostream>#include <cmath>#include <algorithm>using namespace std;string s,h;long long scnt[30],subcnt[100010][30],hcnt[30];int res=0;int main(){ cin >> s >> h; for (int i = 0; i<s.size();i++){

2020-08-14 10:03:22 92

原创 #USACO2020JAN拍照

#include <iostream>#include <cmath>using namespace std;const int N = 1010;int n,blist[N],alist[N];int cntnum(int a,int lst[],int clen){ int cnt = 0; for (int i = 1; i <= clen; ++i) { if (lst[i] == a) cnt++;

2020-08-12 09:53:46 483

原创 桶排序

#include <bitset>#include <math.h>#include <iomanip>#include <iostream>using namespace std;int nums[5000000];int main() { int n; scanf("%d",&n); int max = 0; for (int i = 0; i < n; ++i) { int a;

2020-08-07 20:23:30 71

原创 c++保留两位小数

#include <bitset>#include <math.h>#include <iomanip>#include <iostream>using namespace std;int main() { double x; cin >> x; int X = (int) (x*pow(10,2+1)); if (X%10 >= 5) { X = X / 10 + 1;

2020-08-06 16:25:46 922

原创 c++数组部分倒序(c++常用操作)

#include <iostream>using namespace std;int main() { //数组部分倒序 int n; cin >> n; int numArray[n]; for(int i =0;i<n;i++){ int a; cin >> a; numArray[i] = a; } int s,e;//给定交换区间,但是不是下标

2020-08-03 15:12:52 1522

原创 JAVA面向对象变成笔记(Barron AP CSA)

/** public: 其他程序也可以使用这一个class或者method* private: 只有当前class才能够调用的class 或者 method* static: static variable是当前class所有方法共有的变量,在constructor外面初始化,也就是说在constructor外先赋值* final: static final variables是一旦赋值就不可以改变的一个变量,像一个常量 */

2020-07-30 20:31:28 259

原创 #USACO2020铜级赛第三题暴力解法记录一下

哈哈

2020-07-28 22:53:20 924

原创 # USACO@2020铜级赛第二题

USACO@2020铜级赛第二题题目(摘自usaco.org)Farmer John 的远房亲戚 Ben 是一个疯狂的科学家。通常这会在家庭聚会时造成不小的摩擦,但这偶尔也会带来些好处,尤其是当 Farmer John 发现他正面对一些有关他的奶牛们的独特而不寻常的问题时。Farmer John 当前正面对一个有关她的奶牛们的独特而不寻常的问题。他最近订购了 N 头奶牛(1≤N≤1000),包含两种不同品种:荷斯坦牛和更赛牛。他在订单中用一个长为 N 的字符串来指定奶牛,其中的字符为 H(表示荷斯坦牛

2020-07-28 12:11:48 1004

原创 USACO@2020二月青铜第一题题解报告

USACO @2020二月青铜第一题题解报告题目Farmer John 想要给他的奶牛们建造一个三角形牧场。有 N(3≤N≤100)个栅栏柱子分别位于农场的二维平面上不同的点 (X1,Y1)…(XN,YN)。他可以选择其中三个点组成三角形牧场,只要三角形有一条边与 x 轴平行,且有另一条边与 y 轴平行。Farmer John 可以围成的牧场的最大面积是多少?保证存在至少一个合法的三角形牧场。输入格式(文件名:triangles.in):输入的第一行包含整数 N。以下 N 行每行包含两个整数 X

2020-07-28 10:36:19 1009 1

空空如也

空空如也

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

TA关注的人

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