
思维
林黛玉倒拔垂杨柳
你我最后也平凡到自命不凡
展开
-
牛客OI赛制测试赛3 毒瘤xor(前缀和+贪心)
题目链接:点此跳转 题目描述: 解题思路: 异或1取反,异或0不变,那么对于本题如果原来的数这一位是1,那我们肯定希望它异或一个0;如果原来是0,肯定希望异或1。 那么我们只需要求出[l,r]这个区间里面的数在每一位是1多还是0多,1多那么x的这一位就是0,0多x的这一位就是1,然后开一个前缀和数组统计一下每一位1的个数即可。 Code: #include<iostream> #include<cstring> #include<algorithm> using nam原创 2020-10-04 20:44:59 · 196 阅读 · 0 评论 -
中国石油大学秋季组队训练赛第二场(2019-2020 ICPC, Asia Jakarta Regional Contest)C: Even Path 思维+前缀和
题目大意: 给出一个行的权值Ai 列的权值Bj, 每个位的权值之和为Ai + Bj 多次询问, 每次给出x1,y1,x2,y2 问有没有那么一条路径从(x1, y1)到(x2, y2)且路径上的权值都为偶数 解题思路: 如果起始点为奇数时,那么它走的路径上的点也必然都是奇数,否则走不通,偶数的话需要路径上都是偶数,我们可以通过这个性质求一下起点到终点的前缀和,看是否符合要求即可。 Code: #include<iostream> #include<cstdio> #include&l原创 2020-08-31 17:09:39 · 281 阅读 · 0 评论 -
切长条 贪心
切长条 题目大意: 解题思路: 贪心就完事了,把长条按最右端从小到大排序,每次使没被切过的长条最右端为判断点即可。 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e5 + 7; const ll mod = 1e9 + 7; struct p { ll L, R;//左边和右边 } a[N]; bool cmp(p a, p b) { if (a.R != b原创 2020-08-20 11:40:17 · 120 阅读 · 0 评论 -
智算之道 复赛B 网格 (贪心+dp)
网格 解题思路: 首先判断魔法格的 优先级,如果优先级小于等于普通格的话,直接走普通格即可,大于的话,把魔法格排序,从第一个开始,判断最多可走即可,注意要用longlong Code: #include <bits/stdc++.h> using namespace std; typedef long long ll; int n, m, w1, w2; pair<int, int>a[2002]; int dp[2002], mx; bool chmax(int &a,原创 2020-08-20 10:05:36 · 153 阅读 · 0 评论