T1 100%#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long LL;const int N = 1e5 + 10;int n, a[N];void solve() { cin >> n; for(int i = 0; i < n; i ++) cin >> a[i]; int ans = a[0]; for(int i = 1; i < n; i ++) {  if(a[i] == 1) {   ans ++ ;   if(a[i - 1] == 1) ans ++ ;  } } cout << ans << endl;}int main() { cin.tie(0); cout.tie(0); std::ios::sync_with_stdio(false); int T = 1;// cin >> T; while(T --) {  solve(); } return 0;}T2 100%#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long LL;const int N = 1e5 + 10;void solve() { int x, y; cin >> x >> y; int r = ceil(sqrt(x * x + y * y)); if(r == 0) r = 1; cout << max(11 - r, 0) << endl;}int main() { cin.tie(0); cout.tie(0); std::ios::sync_with_stdio(false); int T = 1;// cin >> T; while(T --) {  solve(); } return 0;}T3 100%#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long LL;typedef pair<int, int> PII;const int N = 1e3 + 10;int n, H, A;int h[N], a[N], ids[N];void solve() { cin >> n >> H >> A; for(int i = 0; i < n; i ++) cin >> h[i]; for(int i = 0; i < n; i ++) cin >> a[i]; for(int i = 0; i < n; i ++) ids[i] = i; sort(ids, ids + n, [&](int a, int b){  return h[a] < h[b]; }); int ed = -1; for(int i = 0; i < n; i ++) {  int id = ids[i];  if(h[id] >= H) break;  ed = i; } if(ed == -1) cout << 0 << endl; else {  vector<int> nums, f;  for(int i = 0; i <= ed; i ++) {   if(a[ids[i]] >= A) continue;   nums.push_back(a[ids[i]]);  }  int ans = 0;  f = vector<int> (nums.size());  for(int i = 0; i < f.size(); i ++) {   f[i] = 1;   for(int j = 0; j < i; j ++) {    if(nums[j] < nums[i]) f[i] = max(f[j] + 1, f[i]);   }   ans = max(ans, f[i]);  }  cout << ans << endl; }}int main() { cin.tie(0); cout.tie(0); std::ios::sync_with_stdio(false); int T = 1;// cin >> T; while(T --) {  solve(); } return 0;}T4 100%#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long LL;const int N = 1e5 + 10;int n, a[N];int get(int x) { int ret = 0; while(x != 0 && x % 2 == 0) {  x /= 2;  ret ++ ; } return ret;}void solve() { cin >> n; for(int i = 0; i < n; i ++) cin >> a[i]; sort(a, a + n); int ans = get(a[n - 1]), rec = a[n - 1]; for(int i = n - 2; i >= 0; i --) {  rec &= a[i];  ans = max(ans, get(rec)); } cout << ans << endl;}int main() { cin.tie(0); cout.tie(0); std::ios::sync_with_stdio(false); int T = 1;// cin >> T; while(T --) {  solve(); } return 0;}T5 6.67%只会骗了#include <bits/stdc++.h>#define endl '\n'using namespace std;typedef long long LL;const int N = 1e5 + 10, M = N * 2;int n, m, C;int h[N], e[M], ne[M], w[M], flag[M], num[M], idx;LL total = 1e18;vector<int> path, ans;void add(int a, int b, int c, int f, int id) { e[idx] = b, w[idx] = c, flag[idx] = f; num[idx] = id,ne[idx] = h[a], h[a] = idx ++ ;}void dfs(int u, int p, LL sum, int rec, int vis) { if(sum > total) return ; if(vis == n) {  if(rec == C && total > sum) {   total = sum;   ans = path;  }  return ; } for(int i = h[u]; i != -1; i = ne[i]) {  int j = e[i];  if(j == p) continue;  if(flag[i] == 1) {   path.push_back(num[i]);   dfs(j, u, sum + 0ll + w[i], rec + 1, vis + 1);  } else {   path.push_back(num[i]);   dfs(j, u, sum + 0ll + w[i], rec, vis + 1);//   path.pop_back();  } }}void solve() { cin >> n >> m; memset(h, -1, sizeof h); for(int i = 0; i < m; i ++) {  int u, v, w, p;  cin >> u >> v >> w >> p;  add(u, v, w, p, i + 1);  add(v, u, w, p, i + 1);  if(p == 1) C ++ ; } cout << -1 << endl;// dfs(1, 0, 0, 0, 0);// if(ans.size() == 0) cout << -1 << endl;// else {//  cout << ans.size() << endl;//  for(int x : ans) cout << x << ' ';//  cout << endl;// }}int main() { cin.tie(0); cout.tie(0); std::ios::sync_with_stdio(false); int T = 1;// cin >> T; while(T --) {  solve(); } return 0;}
点赞 5
评论 7
全部评论

相关推荐

点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务