题目题解
文章平均质量分 66
玖捌
这个作者很懒,什么都没留下…
展开
-
第三周第一场比赛题解(二分)
第三周第一场比赛题解(二分)1、计蒜客 T1560 二分查找(一)题意:给你一个长度为n的数组,然后询问m次,问给你的数字在数组里面没有,如果在输出YES 不在输出NO.思路:二分或者直接下标记录或者可以采用set集合查找代码:(1)因为这道题他说了询问的数字x不会超过1e6,那么我们就可以将输入的数字作为数组的下标,然后直接查询。复杂度O(1)#include<bits/stdc++.h>using namespace std;const int N=1e6+5;int原创 2021-01-26 09:46:42 · 426 阅读 · 1 评论 -
P2196 挖地雷
题目描述在一个地图上有NN个地窖(N \le 20)(N≤20),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径。当地窖及其连接的数据给出之后,某人可以从任一处开始挖地雷,然后可以沿着指出的连接往下挖(仅能选择一条路径),当无连接时挖地雷工作结束。设计一个挖地雷的方案,使某人能挖到最多的地雷。输入格式有若干行。第11行只有一个数字,表示地窖的个数NN。第22行有NN个数,分别...原创 2020-04-15 18:56:07 · 233 阅读 · 0 评论 -
P1434 [SHOI2002]滑雪
题目描述Michael 喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 2...原创 2020-04-13 15:59:04 · 207 阅读 · 0 评论 -
B. Light bulbs (灯泡开关问题)
///灯泡开关问题/*#include<bits/stdc++.h>/// 接近O(m*log(m))算法using namespace std;pair<int,int>a[1005];pair<int,int>temp1,temp2;struct cmp{ bool operator ()(const pair<int,int>...原创 2019-09-15 21:38:18 · 278 阅读 · 0 评论 -
poj 1611 The Suspects
#include<stdio.h>///模拟做法#include<string.h>#include<iostream>#include<vector>using namespace std;const int N=3e4+500;const int M=5e2+500;int vis[N];///标记被感染的人int vispos[...原创 2019-08-12 15:46:46 · 67 阅读 · 0 评论 -
HDU 5969 最大的位或
题意:B君和G君聊天的时候想到了如下的问题。给定自然数l和r ,选取2个整数x,y满足l <= x <= y <= r ,使得x|y最大。其中|表示按位或,即C、 C++、 Java中的|运算。思路:有贪心的思想就是想办法找一个在区间内与r位或后最大比如:1000000 r0111111 用这个数为了在区间内,我们就可以从L开始对L的每一位从低位开始变1(用1...原创 2019-08-10 16:02:06 · 108 阅读 · 0 评论 -
poj 2689 Prime Distance (区间素数筛法)
大体题意:给你两个数l,u同时l,u在int以内(会很大),但是区间长度不会超过1e6;让你找到在这个区间内相邻素数距离最大与最小第一想法就是暴力l,u所有素数但是l,u都太大数组筛法的话筛不到。处理方法:就是先找到sqrt(u)以内的素数,然后就可以按这个区间内的素数找到对称区间内的合数(即[sqrt(u),u]内的合数)其余的就是素数了。然后你就只需要用另一个数组标记[l,u] (偏移l后...原创 2019-08-02 23:26:45 · 153 阅读 · 0 评论 -
hdu1010 Tempter of the Bone
/*这道题坑有点多1.要刚好T的时候才能出去2.到达后就回退,不需要搜索其他的了3.奇偶剪枝(其实不奇偶剪枝也可以过)*/AC代码#include<iostream>#include<stdio.h>#include<string.h>#include<math.h>using namespace std;int m,n,t,...原创 2019-05-15 21:27:58 · 70 阅读 · 0 评论 -
HDU - 1753 大明A+B
话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。Input本题目包含多组测试数据,请处理到文件结束。每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。Output请在一行里面输出输出A...原创 2019-04-02 21:48:24 · 114 阅读 · 0 评论 -
HDU - 2501 Tiling_easy version
/*又是一道dp题,自己找规律也可以;分析如下;将问题小化;当我们贴第n张时,放法数就是第n-1张时的种类数,因为假设前n-1张贴好了第n张只能横着放一张所以放法数就相对于n-1张又多了a[n-1]次,同时在第n张时可以把第n-2张拿掉就凑成了22又可以有两种放法(一张22,两张竖着的21)所以就有了a[n]=a[n-1]+2a[n-2]*/#include<iostream...原创 2019-03-31 22:42:58 · 212 阅读 · 0 评论 -
ZOJ - 1797 Least Common Multiple
/*这道题真的思路一点都不难,我们错了12次,心态炸了。下来后找了半天就是开始使用a*b/(最大公约数)先乘后除的话好像用long long都会溢出,然后找了下题解才知道可以先除后乘就不会越界溢出。基本思路就是依次依次找最小公倍数。*/#include<iostream>using namespace std;int lcm(int a,int b){ int ...原创 2019-03-31 22:15:57 · 133 阅读 · 0 评论 -
ZOJ - 1110 Dick and Jane
/*这道题本来不难,问题在于题目第一句话就是题目所指的12岁可能是马上满13岁,就如12.5岁。所以我们只需要枚举三个动物的值,然后限定条件。*/#include<iostream>#include<cstdio>using namespace std;int main(){ int s,p,y,j; while(scanf("%d%d%d...原创 2019-03-31 22:08:54 · 199 阅读 · 0 评论 -
hdu 2093考试排名
/*这道题用到了结构体排序对于sort排序时需要三个参数(排序头,结尾,排序规则)[排序头,结尾)即左闭右开,对于排序规则默认less()即升序,头文件带有greter()降序排列在自定义规则时需要两个参数可以理解成两个比较对象int comp(student&amp;s1,student&amp;s2){if(s1.counts2.count){if(s1.scores2.sc...原创 2019-03-08 20:27:38 · 503 阅读 · 0 评论