题目链接:https://codeforces.com/contest/1300
A:
贪心
1 /* basic header */ 2 #include <bits/stdc++.h> 3 /* define */ 4 #define ll long long 5 #define dou double 6 #define pb emplace_back 7 #define mp make_pair 8 #define sot(a,b) sort(a+1,a+1+b) 9 #define rep1(i,a,b) for(int i=a;i<=b;++i) 10 #define rep0(i,a,b) for(int i=a;i<b;++i) 11 #define eps 1e-8 12 #define int_inf 0x3f3f3f3f 13 #define ll_inf 0x7f7f7f7f7f7f7f7f 14 #define lson (curpos<<1) 15 #define rson (curpos<<1|1) 16 /* namespace */ 17 using namespace std; 18 /* header end */ 19 20 const int maxn = 101; 21 int n, a[maxn]; 22 23 int main() { 24 int t; scanf("%d", &t); 25 while (t--) { 26 int ans = 0, sum = 0; 27 scanf("%d", &n); 28 for (int i = 1; i <= n; i++) { 29 scanf("%d", &a[i]); 30 if (!a[i]) { 31 a[i] = 1, ans++; 32 } 33 sum += a[i]; 34 } 35 if (!sum) ans++; 36 printf("%d\n", ans); 37 } 38 return 0; 39 }
B:
白给
1 /* basic header */ 2 #include <bits/stdc++.h> 3 /* define */ 4 #define ll long long 5 #define dou double 6 #define pb emplace_back 7 #define mp make_pair 8 #define sot(a,b) sort(a+1,a+1+b) 9 #define rep1(i,a,b) for(int i=a;i<=b;++i) 10 #define rep0(i,a,b) for(int i=a;i<b;++i) 11 #define eps 1e-8 12 #define int_inf 0x3f3f3f3f 13 #define ll_inf 0x7f7f7f7f7f7f7f7f 14 #define lson (curpos<<1) 15 #define rson (curpos<<1|1) 16 /* namespace */ 17 using namespace std; 18 /* header end */ 19 20 const int maxn = 2e5 + 10; 21 int n, a[maxn]; 22 23 int main() { 24 int t; scanf("%d", &t); 25 while (t--) { 26 scanf("%d", &n); 27 n = n * 2; 28 for (int i = 1; i <= n; i++) scanf("%d", &a[i]); 29 sort(a + 1, a + 1 + n); 30 printf("%d\n", a[n / 2 + 1] - a[n / 2]); 31 } 32 return 0; 33 }
C:
1 /* basic header */ 2 #include <bits/stdc++.h> 3 /* define */ 4 #define ll long long 5 #define dou double 6 #define pb emplace_back 7 #define mp make_pair 8 #define sot(a,b) sort(a+1,a+1+b) 9 #define rep1(i,a,b) for(int i=a;i<=b;++i) 10 #define rep0(i,a,b) for(int i=a;i<b;++i) 11 #define eps 1e-8 12 #define int_inf 0x3f3f3f3f 13 #define ll_inf 0x7f7f7f7f7f7f7f7f 14 #define lson (curpos<<1) 15 #define rson (curpos<<1|1) 16 /* namespace */ 17 using namespace std; 18 /* header end */ 19 20 const int maxn = 1e5 + 10; 21 int n, a[maxn]; 22 23 int main() { 24 scanf("%d", &n); 25 for (int i = 1; i <= n; i++) scanf("%d", &a[i]); 26 for (int j = 30; ~j; j--) { 27 int cnt = 0, pos; 28 for (int i = 1; i <= n; i++) 29 if ((a[i] >> j) & 1) { 30 cnt++; 31 pos = i; 32 } 33 if (cnt == 1) { 34 printf("%d ", a[pos]); 35 for (int i = 1; i <= n; i++) { 36 if (i != pos) printf("%d ", a[i]); 37 } 38 puts(""); 39 return 0; 40 } 41 } 42 for (int i = 1; i <= n; i++) printf("%d ", a[i]); 43 puts(""); 44 return 0; 45 }
E:
1 /* basic header */ 2 #include <bits/stdc++.h> 3 /* define */ 4 #define ll long long 5 #define dou double 6 #define pb emplace_back 7 #define mp make_pair 8 #define sot(a,b) sort(a+1,a+1+b) 9 #define rep1(i,a,b) for(int i=a;i<=b;++i) 10 #define rep0(i,a,b) for(int i=a;i<b;++i) 11 #define eps 1e-8 12 #define int_inf 0x3f3f3f3f 13 #define ll_inf 0x7f7f7f7f7f7f7f7f 14 #define lson (curpos<<1) 15 #define rson (curpos<<1|1) 16 /* namespace */ 17 using namespace std; 18 /* header end */ 19 20 const int maxn = 1e6 + 10; 21 int n, pos[maxn], p = 0; 22 ll a[maxn]; 23 24 int main() { 25 a[0] = 0; 26 scanf("%d", &n); 27 for (int i = 1; i <= n; i++) { 28 int x; scanf("%d", &x); 29 a[i] = a[i - 1] + x; 30 } 31 for (int i = 1; i <= n; i++) { 32 while (p && 1.0 * (a[pos[p]] - a[pos[p - 1]]) / (pos[p] - pos[p - 1]) - 1.0 * (a[i] - a[pos[p - 1]]) / (i - pos[p - 1]) > 1e-12) 33 p--; 34 pos[++p] = i; 35 } 36 for (int i = 1; i <= p; i++) { 37 double x = 1.0 * (a[pos[i]] - a[pos[i - 1]]) / (pos[i] - pos[i - 1]); 38 for (int j = pos[i - 1]; j < pos[i]; j++) printf("%.10f\n", x); 39 } 40 return 0; 41 }
Codeforces Round #618 (Div. 2)
原文:https://www.cnblogs.com/JHSeng/p/12289951.html