自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 NOIP 2008 传球游戏

这道题呢,我用了一下搜索,还用了一下dp搜索是40PAC,dp是稳过的然后呢遇到边缘值我都进行了特殊判断,我感觉这么写好写点先来看看搜索#include<bits/stdc++.h>using namespace std;int n;int m;struct node{ int now;//现在的位置 int cnt;//次数};queue<node> q;//用队列解决bfsvoid bfs(int x,int sum){ i...

2021-08-28 20:47:06 401

原创 并查集的基本模板(对应洛谷P3367)

首先声明一下,我的并查集只限用于洛谷的前七个点,后三个点是超时的,我正在努力查找原因,如果有大佬发现问题所在,可以在评论区dd我,我一旦查出来的话,定会更新一篇的#include<bits/stdc++.h>using namespace std; int n;int m;int fa[10001];int find(int x){ if(fa[x]==x) return x; else return find(fa[x]);}bool check...

2021-08-28 19:53:28 71 1

原创 快速幂算法优化(易懂)

给两个数,x,n,让你求x的n次幂是多少。很简单,也很容易,可以用老算法来一遍(也不算是算法,就是模拟一下)long long pow(long x,long y){ for(int i=0;i<=y-1;i++) { x*=x; } return x;} 然后接下来就是优化了,比方说2的6次方,我们可以拆分成2的2次方的三次方,也可以拆分成2的三次方的2次方,那么就是下面的优化代码#include<bits/s...

2021-08-28 14:26:18 188

原创 P7073 [CSP-J2020] 表达式

这道题得用到栈了数字存在栈里面在这里我还用了一个二叉树int tree[1000001][2];第二维中:0代表左子树,1代表右子树首先就是得先数据预处理,这个很麻烦的呀,很长的代码一批 getline(cin,s); cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; cnt=n; int len=s.size(); for(int i=0;i<=len-1;i++)...

2021-09-26 23:24:29 254

原创 四川省选题目:国旗计划(对应洛谷P4155)

SCOI2015国旗计划描述 A 国正在开展一项伟大的计划 —— 国旗计划。这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈。这项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了N名优秀的边防战上作为这项计划的候选人。 A 国幅员辽阔,边境线上设有M个边防站,顺时针编号1至M。每名边防战士常驻两个边防站,并且善于在这两个边防站之间长途奔袭,我们称这两个边防站之间的路程是这个边防战士的奔袭区间。N名边防战士都是精心挑选的,身体素质极佳,所以每名边防...

2021-09-25 23:06:03 237

原创 模板:高精度加法(对应洛谷P1601)

这道题得需要用高精度加法运算,主要的思想是模拟。读入数据的时候看作为两个字符串,再将这两个字符串每一位转存数组然后逐位加法(若大于10,则减10进1)代码贴出,具体注释呈上#include<bits/stdc++.h>using namespace std;string s1,s2;int a[100000001];int b[100000001];int c[100000002];int l1,l2;int main(){ cin>>s...

2021-09-14 23:20:13 136

原创 CSP—J 2020 直播获奖(洛谷P7072)

10 60200 300 400 500 600 600 0 300 200 100200 300 400 400 400 500 400 400 300 30010 30100 100 600 100 100 100 100 100 100 100100 100 600 600 600 600 100 100 100 100作为CSP的20年的选手,这道题在考场的时候也是只用了sort,得了50分。sort肯定是超时了,所以这里...

2021-09-09 23:10:11 417

原创 P1002 [NOIP2002 普及组] 过河卒

6 6 3 36这道题呢,dfs做呢可以过三个点,dp做可以ac这两种方法我都写出来dfs呢,相对来说好理解,在起点进行遍历,看看有几种方法能到达终点#include<bits/stdc++.h>using namespace std;int m,n;int a,b;int flag[25][25];int dirx_ma[8]={-2,-1,1,2,2,1,-1,-2};int diry_ma[8]={1,2,2,1,-1,-2,-2,-1};...

2021-08-30 08:52:04 64

原创 [CSP-J2019] 加工零件

作为2020年的选手,完美的避开了这个拐弯抹角的2019年普及组的压轴题这道题呢,看了一眼标签,赫然是一个奇偶性的图论问题,而且有单源最短路径我呢,还是喜欢用dijstra,所以就用它了dis数组要设两维,dis[N][2]标记数组也要设成两维的,flag[N][2]第二维时,0代表走了偶数步,1代表了奇数步#include<bits/stdc++.h>using namespace std;int n;int m;int qq;...

2021-08-29 21:53:02 734

原创 USACO 2009 Cow Digit Game S(对应洛谷P2953)

这道题是一道博弈论的题目判断方案是否可行,可以使用动态规划这是动态规划中,表示这个方案是否可行了我先把公式亮一下f[i]表示呢,当前的数字为i时,先手是否能赢因为操作了一次,所以只有对两个子问题取反后再取或,才能更新答案至于求这个数字中最大和最小值应该不用细讲了吧看代码吧#include<bits/stdc++.h>using namespace std;int n;int f[1000001];int mi(int x){ i...

2021-08-29 19:23:07 78

原创 算法竞赛宝典:分治算法 循环比赛

样例:输入2样例:输出1 2 3 42 1 4 33 4 1 14 3 2 1其实这道题可以打个表,因为数据范围确实有点小,一共才五种情况刚开始呢,我想要模拟来着,也是可以的,可以用到数独的思想每行不能有重复的,每列不能有重复的这个跟数独不一样的是,没有九宫格,所以搜索起来能简单点我在这里呢,就用这种方法写一下因为网上有大佬用分治算法了,我就另辟蹊径了直接暴力模拟一下因为时...

2021-08-29 16:16:49 149 1

原创 NOIP 2020 优秀的拆分

这道题呢,在考场的时候完全想错了,认为2的几次幂得是连续的那种,中间不能空挡。并且比较坑人的地方在于,NOIP考场上提供的数据也是这样的,成功的误导了我导致仅仅得到了奇数特判的20分和样例的那15分闲话少说吧,直接把代码呈上,解析什么的在代码的注释上面#include<bits/stdc++.h>using namespace std;int n;long long f[30];//存储2的幂int main(){ cin>>n; ...

2021-08-29 15:13:02 243

原创 NOIP 2008 ISBN 号码

说实话呢,这道题我也没太弄明白那些数据的卡点是个什么玩意,一会是80PAC,一会是AC我是用字符串输入处理的,还算简便吧,具体的解释在代码中注释呈现吧AC代码呈上#include<bits/stdc++.h>using namespace std;int lvl=0;string s;int a[11];int temp;int main(){ cin>>s; int len=s.size(); for(int i=0;i<=le...

2021-08-28 20:36:31 110

原创 NOIP 2008 排座椅

这道题呢,需要用到贪心的性质。因为输出的不仅是是最优的路线,而且还得是升序排列序号。所以,设立一个结构体,里面存储这条路可以隔开几对,并且他的序号结构体需要有两个,一个是行,一个是列之后贪心时,比较函数的重置需要有两个一个是判断个数,降序排列之后是判断序号大小,升序排列话不多说,代码呈上#include<bits/stdc++.h>using namespace std;int m;int n;int k;int l;int d;st...

2021-08-28 20:30:25 114

原创 更新我的上一篇博文,这次是ac代码了,上次少了个路径压缩

上一篇的博文代码是70PAC,有三个点超时,主要原因就是find函数里面没有进行路径压缩#include<bits/stdc++.h>//上一篇博文代码,无路径压缩的using namespace std; int n;int m;int fa[10001];int find(int x){ if(fa[x]==x) return x; else return find(fa[x]);}bool check(int x,int y){ x=find...

2021-08-28 20:15:24 49

原创 NOIP 2010 关押罪犯

这道题一看就是个图论,那就按照往常,存边建图,我呢比较喜欢邻接表,那就用它了吧这道题还需要一个贪心的性质在里面,需要降序排列,因为只有先把怒气值大的几组拆开,才能保证答案是最优解。接下来是合并组合。需要将怒气值大的两个人分开至两个监狱,然后让两人的敌人的敌人(也就是朋友)在一所监狱,这样能保证最优这里需要用到并查集了,代码呈上#include<bits/stdc++.h>using namespace std;int n;int m;struct n...

2021-08-28 19:34:41 52

原创 NOIP 2010 乌龟棋

在这里呢,绝爵觉就直接写出满分思路代码了.首先呢,看到这道题就是动态规划能拿满分如果有其他的方法就是我的不严谨了。定义一个数组f是动态规划的数组,然后状态存储四维(1有几张,二有几张,三有几张,四有几张),这就需要读入数据时有个预处理了,这都好办了,贴代码了动态规划的主体方程见上#include<bits/stdc++.h>using namespace std;int n;int m;int a[351];int b[121];int ...

2021-08-28 19:10:26 60

原创 NOIP 2010 年引水入城

这道题的答题思路分两部分,一呢是先要判断能不能覆盖最后一行,二呢是要求最优值。第一步呢好办,可以flag设标记,然后最后一行遍历一遍看看是否都为真,如果不是,那么输出不可以, 否则进行第二步我们可以利用l和r的两维数组,代表i行j列的水库能管到左边最远哪里,右边最远哪里,然后在第一行进行查找遍历,因为只有第一行能够建立水库,所以就over了。大体思路就是这样,具体的ac代码程序我贴出来了#include<bits/stdc++.h>us...

2021-08-28 18:57:29 129

原创 分治算法:逃亡

设两人分别为甲乙,则最优方案市甲先乘车到达C后下车步行,小车回头接已经走了一段距离的乙,假设车与乙在D相遇,乙乘车到达B时甲正好步行到达,这样的花费时间最短。 此题具有二分性质,bot,top表示起点终点。建立mid,然后计算time甲和time乙,如果甲大于乙,bot=mid,否则top更新。#include<bits/stdc++.h>using namespace std;int s;int v_car;int v_fot;int main()...

2021-08-28 13:31:10 74

排列组合(特殊题型计算机语言的,不是数学上的).docx

NOIP初赛人员可以参考,属于特殊的排列组合问题

2021-09-17

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

TA关注的人

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