第二周 3.6-3.12

Posted Algorithms Crush Me

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二周 3.6-3.12相关的知识,希望对你有一定的参考价值。

3.6

CF 627 A XOR Equation

a + b = a ^ b + (a & b << 1)

注意非法情况和0。

技术分享
 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 typedef long long LL;
 5 
 6 int main(void)
 7 {
 8     LL s, x, t, ans = 1LL;
 9     cin >> s >> x;
10     t = s == x ? 2LL : 0LL;
11     s -= x;
12     if(s < 0LL || s % 2LL) {puts("0"); return 0;}
13     s /= 2LL;
14     while(x || s)
15     {
16         if((x % 2LL) && (s % 2LL)) {puts("0"); return 0;}
17         if((x % 2LL) && !(s % 2LL)) ans <<= 1LL;
18         x /= 2LL, s /= 2LL;
19     }
20     cout << ans - t << endl;
21     return 0;
22 }
Aguin

 

CF 627 B Factory Repairs

两个bit随意搞。

技术分享
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 using namespace std;
 5 const int maxn = 2e5 + 10;
 6 typedef long long LL;
 7 LL c[2][maxn];
 8 
 9 int lowbit(int s)
10 {
11     return s & (-s);
12 }
13 
14 void modify(int op, int i, LL x)
15 {
16     while(i < maxn) c[op][i] += x, i += lowbit(i);
17     return;
18 }
19 
20 LL query(int op, int i)
21 {
22     LL ret = 0LL;
23     while(i > 0) ret += c[op][i], i -= lowbit(i);
24     return ret;
25 }
26 
27 int main(void)
28 {
29     int n, k, a, b, q;
30     scanf("%d %d %d %d %d", &n, &k, &a, &b, &q);
31     while(q--)
32     {
33         int op, x, y;
34         scanf("%d", &op);
35         if(op == 1)
36         {
37             scanf("%d %d", &x, &y);
38             modify(0, x, min(a - query(0, x) + query(0, x - 1), (LL)y));
39             modify(1, x, min(b - query(1, x) + query(1, x - 1), (LL)y));
40         }
41         else
42         {
43             scanf("%d", &x);
44             printf("%I64d\n", query(1, x - 1) + query(0, n) - query(0, x + k - 1));
45         }
46     }
47     return 0;
48 }
Aguin

 

以上是关于第二周 3.6-3.12的主要内容,如果未能解决你的问题,请参考以下文章

《实时控制软件》第二周作业

前端资讯周报 3.6 - 3.12: 对学习Javascript最有帮助的三本书,以及HTML标题的迷思

第二周续.(代码)

20165302第二周学习总结

20165306课下作业(第二周)

20165233 第二周课堂代码补充