题:https://codeforces.com/gym/101911/problem/A 题意:每天工作m分钟,每次喝coffee得间隔d分钟,然后给出n个数,每个数表示想在一天中的a[i]的时刻喝coffe,问最少喝完的天数 分析:先对数组升序排,若满足间隔的d就向前一个建立联系: #include<bits/stdc++.h> using namespace std; ; int ans[M],head[M]; pair<int,int >a[M]; int main(){…
Coach Pang and Uncle Yang both love numbers. Every morning they play a game with number together. In each game the following will be done:  1. Coach Pang randomly choose a integer x in [a, b] with equal probability.  2. Uncle Yang randomly choose a i…
题目链接:http://poj.org/problem?id=2259 Queues and Priority Queues are data structures which are known to most computer scientists. The Team Queue, however, is not so well known, though it occurs often in everyday life. At lunch time the queue in front o…
vector邻接表: ; struct Edge{ int u,v,w; Edge(int _u=0,int _v=0,int _w=0){u=_u,v=_v,w=_w;} }; vector<Edge> E; vector<int> G[maxn]; void init(int l,int r) { E.clear(); for(int i=l;i<=r;i++) G[i].clear(); } void addedge(int u,int v,int w) { E.pus…
题目见前文:DS实验题 Old_Driver UnionFindSet结构 这里使用邻接表存储敌人之间的关系,邻接表用指针实现: // // main.cpp // Old_Driver3 // // Created by wasdns on 16/12/18. // Copyright © 2016年 wasdns. All rights reserved. // #include <iostream> #include <cstdio> #include <cstring…
C. Coffee Break 这个贪心之前好像写过,还是感觉挺难的,有点不会写. 这个题目大意是:给你一个数列n个元素,然后给你一天的时间,给你一个间隔时间d, 问你最少要用多少天可以把这个数列的所有元素放进去,注意元素之间必须相隔大于等于d,还有就是假设每一天之间的间隔大于d 解法: 借助队列来解题, 首先给这个元素按照元素大小来拍个序,贪心优先考虑小的,优先把小的放进去, 然后第一天肯定是要开一天的,如何后面的比这个大那就新开一天,否则就可以直接继承这一天. 这个就是解题思路,我觉得我应该…
Drainage Ditches Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13273    Accepted Submission(s): 6288 Problem Description Every time it rains on Farmer John's fields, a pond forms over Bessie's…
[问题]给出一颗n个结点的树,树上每条边的边权都是1,这n个结点中有m个特殊点,请你求出树上距离这m个特殊点距离均不超过d的点的数量,包含特殊点本身. 输入: 输入第一行包含三个正整数,n.m.d分别表示树上有n个结点,其中有m个点是特殊点,d是如题所示的距离.(1<=n.m.d<=50000) 第二行m个整数,表示特殊的点的编号,编号再1-n之间. 第三行有n-1个整数,第个数表示第号结点的父亲结点的编号,同样在1-n之间. 输出: 输出仅包含一个整数,即符合题目要求的点的数量. 样例输入:…
把我坑到死的题 开始开题以为是全图连通是的最小值 ,以为是最小生成树,然后敲了发现不是,看了下别人的题意,然后懂了: 然后发现数据大,要用邻接表就去学了一下邻接表,然后又去学了下优先队列优化的dij: 这坑爹的题目我交了10几遍,也不知道错在哪里:后来知道了maxint要#define Maxint 10000000000: 然后long int 是过不了的,改成long long才能过 ,真是呵呵啊: #include<stdio.h> #include<string.h> #i…
昨天的题太水了,堆优化跑的不爽,今天换了一个题,1000000个点,1000000条边= = 试一试邻接表 写的过程中遇到了一些问题,由于习惯于把数据结构封装在 struct 里,结果 int [1000000] 导致 struct 爆栈,此问题亟待解决.. 实力碾压SPFA 2500 ms,有图为证 #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #d…