多合一网站建设,做数据同步的两个网站,做网站要怎么找单,中国现货交易网题目链接#xff1a;https://vjudge.net/problem/POJ-3258 题目大意 给定数轴上一个起点 0#xff0c;终点 L#xff0c;以及中间 N 个不同的点#xff0c;现准备删除中间 N 个点中的 M 个#xff0c;使得剩下来的点#xff08;包括起点和终点#xff09;#xff0c;相… 题目链接https://vjudge.net/problem/POJ-3258 题目大意 给定数轴上一个起点 0终点 L以及中间 N 个不同的点现准备删除中间 N 个点中的 M 个使得剩下来的点包括起点和终点相邻两点间距的最小值最大求这个值。 分析 二分最短距离即可。 代码如下 1 #include cmath2 #include ctime3 #include iostream4 #include string5 #include vector6 #include cstdio7 #include cstdlib8 #include cstring9 #include queue10 #include map11 #include set12 #include algorithm13 #include cctype14 #include stack15 #include deque16 #include list17 #include sstream18 #include cassert19 using namespace std;20 21 #define INIT() ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);22 #define Rep(i,n) for (int i 0; i (n); i)23 #define For(i,s,t) for (int i (s); i (t); i)24 #define rFor(i,t,s) for (int i (t); i (s); --i)25 #define ForLL(i, s, t) for (LL i LL(s); i LL(t); i)26 #define rForLL(i, t, s) for (LL i LL(t); i LL(s); --i)27 #define foreach(i,c) for (__typeof(c.begin()) i c.begin(); i ! c.end(); i)28 #define rforeach(i,c) for (__typeof(c.rbegin()) i c.rbegin(); i ! c.rend(); i)29 30 #define pr(x) cout #x x 31 #define prln(x) cout #x x endl32 33 #define LOWBIT(x) ((x)(-x))34 35 #define ALL(x) x.begin(),x.end()36 #define INS(x) inserter(x,x.begin())37 #define UNIQUE(x) x.erase(unique(x.begin(), x.end()), x.end())38 #define REMOVE(x, c) x.erase(remove(x.begin(), x.end(), c), x.end()); // 删去 x 中所有 c 39 #define TOLOWER(x) transform(x.begin(), x.end(), x.begin(),::tolower);40 #define TOUPPER(x) transform(x.begin(), x.end(), x.begin(),::toupper);41 42 #define ms0(a) memset(a,0,sizeof(a))43 #define msI(a) memset(a,inf,sizeof(a))44 #define msM(a) memset(a,-1,sizeof(a))45 46 #define MP make_pair47 #define PB push_back48 #define ft first49 #define sd second50 51 templatetypename T1, typename T252 istream operator(istream in, pairT1, T2 p) {53 in p.first p.second;54 return in;55 }56 57 templatetypename T58 istream operator(istream in, vectorT v) {59 for (auto x: v)60 in x;61 return in;62 }63 64 templatetypename T1, typename T265 ostream operator(ostream out, const std::pairT1, T2 p) {66 out [ p.first , p.second ] \n;67 return out;68 }69 70 inline int gc(){71 static const int BUF 1e7;72 static char buf[BUF], *bg buf BUF, *ed bg;73 74 if(bg ed) fread(bg buf, 1, BUF, stdin);75 return *bg;76 } 77 78 inline int ri(){79 int x 0, f 1, c gc();80 for(; c48||c57; f c-?-1:f, cgc());81 for(; c47c58; x x*10 c - 48, cgc());82 return x*f;83 }84 85 templateclass T86 inline string toString(T x) {87 ostringstream sout;88 sout x;89 return sout.str();90 }91 92 inline int toInt(string s) {93 int v;94 istringstream sin(s);95 sin v;96 return v;97 }98 99 //min aim max
100 templatetypename T
101 inline bool BETWEEN(const T aim, const T min, const T max) {
102 return min aim aim max;
103 }
104
105 typedef long long LL;
106 typedef unsigned long long uLL;
107 typedef pair double, double PDD;
108 typedef pair int, int PII;
109 typedef pair int, PII PIPII;
110 typedef pair string, int PSI;
111 typedef pair int, PSI PIPSI;
112 typedef set int SI;
113 typedef set PII SPII;
114 typedef vector int VI;
115 typedef vector double VD;
116 typedef vector VI VVI;
117 typedef vector SI VSI;
118 typedef vector PII VPII;
119 typedef map int, int MII;
120 typedef map LL, int MLLI;
121 typedef map int, string MIS;
122 typedef map int, PII MIPII;
123 typedef map PII, int MPIII;
124 typedef map string, int MSI;
125 typedef map string, string MSS;
126 typedef map PII, string MPIIS;
127 typedef map PII, PII MPIIPII;
128 typedef multimap int, int MMII;
129 typedef multimap string, int MMSI;
130 //typedef unordered_map int, int uMII;
131 typedef pair LL, LL PLL;
132 typedef vector LL VL;
133 typedef vector VL VVL;
134 typedef priority_queue int PQIMax;
135 typedef priority_queue int, VI, greater int PQIMin;
136 const double EPS 1e-8;
137 const LL inf 0x3fffffff;
138 const LL infLL 0x3fffffffffffffffLL;
139 const LL mod 1e9 7;
140 const int maxN 1e5 7;
141 const LL ONE 1;
142 const LL evenBits 0xaaaaaaaaaaaaaaaa;
143 const LL oddBits 0x5555555555555555;
144
145 int L, N, M;
146 int dis[maxN 1], l, r;
147
148 int main(){
149 //freopen(MyOutput.txt,w,stdout);
150 //freopen(input.txt,r,stdin);
151 //INIT();
152 while(~scanf(%d %d %d, L, N, M)) {
153 dis[0] 0;
154 For(i, 1, N) scanf(%d, dis[i]);
155 dis[N] L;
156 sort(dis, dis N 1);
157 l dis[1];
158 r L;
159 Rep(i, N) {
160 dis[i] dis[i 1] - dis[i];
161 l min(l, dis[i]);
162 }
163
164 while(l r) {
165 int mid (l r) 1, cnt 0, sum 0;
166
167 Rep(i, N) {
168 sum dis[i];
169 if(sum mid) sum 0; // 这里看的是 mid 1
170 else cnt;
171 }
172
173 if(cnt M) r mid;
174 else l mid 1;
175 }
176
177 printf(%d\n, l);
178 }
179 return 0;
180 }
181
182 /*
183 16 7 5
184 2 4 6 8 10 12 14
185 16 0 0
186
187 Ans:
188 4
189 16
190 */ View Code 转载于:https://www.cnblogs.com/zaq19970105/p/11182735.html