- 博客(15)
- 资源 (6)
- 收藏
- 关注
原创 P1257 平面上的最接近点对
P1257平面上的最接近点对 这是luogu里的一道计算几何题,luogu题解里说需要旋转在算,不知道是什么鬼。 然而,我暴力打了一个O(n(n-1)/2)的算法,提交竟然过了!!! 我枚举两个点,然后取最小值,因为数据范围太大,所以要算一个判一个。 我i=1;i<=n;i++j循环用j=i+1;j<=n;j++这样会身下很多的时间,足以让我们在一秒内...
2019-07-10 15:27:00 66
原创 luoguP2057善意的投票
理解下题意:题意大致就是有n个人有两种不同的意见并且有许多朋友,需要让朋友间尽可能的统一意见(少发生冲突),如果一个人违反自己的本意也算冲突,求最少的冲突。。。思路:明眼人直接发现是最小割,两种意见可以看作源点S和T,我们需要做的是割最少的边使得S和T成为两个不同的集合,解释:割掉的边相当于1次冲突(因为若某边被割走,则显然这条边相连的两个点分别通向了S和T,所以算是一次冲突),当...
2019-05-04 10:43:00 39
原创 模板库
转载:https://www.luogu.org/blog/yu123123/Templet数据结构区并查集1.普通并查集【模板题】【代码】【例题】2.可持久化并查集【模板题】堆1.普通堆【模板题】【代码】2.左偏树(可并堆)【模板题】树状数组1.单点加法+区间求和【模板题】【代码】2.区间加法+单点求和【模板题】【代码】线段树...
2019-05-04 09:37:00 114
原创 luoguP1084疫情控制
原题地址题目分析我们要明确我们做什么,一步一步慢慢来,否则会被这题逼疯。1.预处理倍增我们会发现,离根节点越近的节点,控制的节点更多。所以由贪心的思想,所有的军队都要尽可能地往根节点走。”往上提“类型问题一般使用倍增优化。好大的,那么我们可以dfs一遍,将倍增要用的一些值都处理好(见代码)2.二分答案军队可以同时移动,说明我们要控制传染病的时间是军队移动到位时,移动时...
2019-05-03 14:24:00 53
原创 输入输出优化
通常,在输入输出数据量很大的时候用cin,cout;scanf,printf都会超时,那怎么办呢?于是,发明了输入输出优化。1.输入优化首先,先要了解一个叫getchar()的函数,是用来读入字符的,速度很快。那么,代码就写出来了。int read(){ int x,mk;//mk用来判别负数。 char ch=getchar();//读入一个元素。 ...
2019-03-17 15:56:00 84
原创 P1096 $Hanoi$双塔问题
原题地址题目描述给定A、B、C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。现要将这些圆盘移到CC柱上,在移动过程中可放在BB柱上暂存。要求:(1)每次只能移动一个圆盘;(2)A、B、C三根细柱上的圆盘都要保持上小下大的顺序;任务:设An为2n个圆盘完成上述任务所需的最少...
2019-02-19 08:48:00 76
原创 P1088 火星人
原题链接题目描述人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。火星人用一种非常简单的方式来表示数字――掰手指。火星人只有一只手,但这只手上...
2019-02-18 13:15:00 50
原创 P1970 花匠
原题地址思路思路其实很简单,只要判断有几个“转折点”,再加上2个端点就可以了。注意:1.与前面的花高度恰好相同的点并不是转折点,所以要继承前面的点的上升或下降趋势;2.只有一株花的情况需要特判。代码#include<iostream>#include<cstdio>using namespace std;int n,ans,s,h[1000010...
2019-02-15 17:15:00 59
原创 P1125 笨小猴
原题地址思路读入,处理maxn和minn,一个判断(筛表法)maxx-minn是不是质数,再进行输出。#include<bits/stdc++.h>using namespace std;char s[101];int b[101],sum[101],k;bool c[101];bool f[300];int cmp(int x,int y) ...
2019-02-15 15:45:00 95
原创 noip普及组2018T1 标题统计
原题地址思路读入后线性扫描输出即可。代码#include<iostream>#include<cstdio>using namespace std;string s;int ans;int main(){ getline(cin,s);//读入 for(int i=0;i<s.size();i++) if...
2018-12-02 19:37:00 153
原创 luoguP1865A%Bproblem
原题地址思路使用筛表法筛除1~m的素数,然后累计1~m的素数个数,最后输出sum[r]-sum[l-1]即可。代码#include<iostream>using namespace std;int n,m,l,r,sum[1000010];bool a[1000010];int main(){cin>>n>>m;for(int i...
2018-12-02 18:38:00 42
原创 noip普及组2018T2 龙虎斗
原题地址p1位置加s1个工兵,先算一遍双方势力之差,然后依次枚举把s2个工兵放在所有的兵营里,取最小就行了#include<iostream>#include<cmath>#include<cstdio>using namespace std;long long n,m,sum1,sum2,minn,mink,a[100010],p,s1...
2018-11-30 20:10:00 95
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人