题目大意: 链接:https://www.nowcoder.com/acm/contest/84/E 给定n个数字a1, a2, ..., an. 定义f(l, r) = al | al+1| ... | ar. 现在枚举(1 <= l <= r <= n),问不同的f值一共有多少个. 思路:确定一个 l 的情况下, 从 l 出发的的不同值最多只有20多个, 从后往前暴力更新就好啦. #include<bits/stdc++.h> #define LL long long #…
https://www.nowcoder.com/acm/contest/211/F 经典题. 1.分区间 2.向下取整的值变化 & 合并相同值 #include <bits/stdc++.h> using namespace std; #define ll long long ; ; ll tot[maxn<<],f[maxn],g[maxn],add[maxn],ans=,r; int main() { int n,m,a,x,y,i,j; scanf("%d…