一道很有意思的题目。 先求一次前缀和,可以发现答案是 (sum[0] xor sum[x1])or(sum[x1] xor sum[x2])or(sum[x2] xor sum[x3])or……or(sum[m-1] xor sum[n]) 然后其实(a xor b)or b =a or b 那么s
转载 2018-04-25 15:39:00
16阅读
2评论
http://www.elijahqi.win/2018/02/24/bzoj4245-ontak2015or-xor/ Description
原创 2022-08-08 14:50:28
27阅读
Description 给定一个长度为n的序列a[1],a[2],...,a[n],请将它划分为m段连续的区间,设第i段的费用c[i]为该段内所有数字的异或和,则总费用为c[1] or c[2] or ... or c[m]。请求出总费用的最小值。 Input 第一行包含两个正整数n,m(1<=m<=n<=500000),分别表示序列的长度和需要划分的段数。
原创 2021-07-28 09:48:31
80阅读
题目链接 "BZOJ4245" 题解 套路① 位运算当然要分位讨论,高位优先 考虑在$or$下,如果该位为$0$,则每一位都为$0$ 套路② 我们选m段异或和,转化为$m$个前缀和的点,且其中有一个是$n$ 容易发现,该位结果要为0,则选取的前缀和该位都为$0$ 所以贪心查找所有该位为$0$的,首先
原创 2021-07-20 14:39:33
24阅读
BZOJ4245】[ONTAK2015]OR-XOR Description 给定一个长度为n的序列a[1],a[2],...,a[n],请将它划分为m段连续的区间,设第i段的费用c[i]为该段内所有数字的异或和,则总费用为c[1] or c[2] or ... or c[m]。请求出总费用的最小
转载 2017-06-06 16:56:00
32阅读
2评论
Description 给定一个长度为n的序列a[1],a[2],...,a[n],请将它划分为m段连续的区间,设第i段的费用c[i]为该段内所有数字的异或和,则总费用为c[1] or c[2] or ... or c[m]。请求出总费用的最小值。 给定一个长度为n的序列a[1],a[2],...,
转载 2018-01-05 14:12:00
59阅读
2评论
题意 "题目链接" Sol 又是一道非常interesting的题目 很显然要按位考虑 因为最终答案是xor之后or,所以分开之后之后这样位上1的数量是一定是偶数,否则直接加到答案里面 同时,这里面有些部分是不能切的(分开之后会产生奇数个1),把这些位置记出来 如果能保证每次都有大于$m$个位置能切
原创 2021-06-05 09:49:31
160阅读
按位贪心。 前缀异或和没话说。一位为0当且仅当这一位有m个0,且第n个数这一位为0。 如果这一位可以为0,那么所有这一位为1的数以后都不能选。
转载 2016-09-16 20:51:00
44阅读
2评论
题意给定一个长度为$n(1 \le n \le 500000)$的序列$a_i(0 \le a_i \le 10^{18})$,将它划分为$m(1 \le m \le n)$段连续的区间,设第$i$段的费用$c_i$为该段内所有数字的异或和,则总费用为$c_1 \ or \ c_2 \ or \ ...
原创 2021-08-11 10:39:07
76阅读
题目大意:给定一个长度为nn的序列,要求分成mm段,使得每段异或和的或值最小 求出前缀异或和后从大到小按位确定,如果某一位上有至少mm个数是0且第nn个数是0,那么这一位就可以是0,同时将所有是1的数字标记为不可选 时间复杂度O(nlogai)(nloga_i)#include <cstdio>#include <cstring>#include <iostream>#include <a
原创 2023-04-19 00:13:12
68阅读
HDU - 4245A Famous Music ComposerTime Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64uSubmit StatusDescriptionMr. B is a famous music compos
原创 2022-10-11 15:51:32
87阅读
Description 给定一个长度为n的序列a[1],a[2],...,a[n],请将它划分为m段连续的区间,设第i段的费用c[i]为该段内所有数字的异或和,则总费用为c[1] or c[2] or ... or c[m]。请求出总费用的最小值。 给定一个长度为n的序列a[1],a[2],...,
原创 2021-07-07 16:21:57
136阅读
知道按位贪心但是不知道怎么贪…… 求一个a的异或前缀和s,然后按位从大到小贪心,ans的当前位能为0的条件是s中有 =m个位置这一位为0且没有flag,并且s[n]的这一位为0 如果符合要求,那么把s中这一位不为0的位置都打上flag,表示这些点不能作为区间断点了(如果作为断点的话这一位就要为1了,
转载 2018-09-12 20:16:00
47阅读
题目大意:题目链接:https://jzoj...
转载 2019-01-29 21:41:00
65阅读
题目大意:题目链接:https://jzoj...
转载 2019-01-29 21:41:00
50阅读
题目:http://acm.hdu.edu.cn/showproble
原创 2022-08-23 08:14:56
79阅读
#include#includeint main(){ int kase = 0; char s[50],ss[50]; while(1 ){ if( scanf("%s",s) ==EOF ) break; scanf("%s",ss); printf("Case %d: ",++kase); if
原创 2022-08-05 15:50:48
29阅读
三模数 NTT,感觉不是很难写 $?$ 代码借鉴的 https://www.cnblogs.com/Mychael/p/9297652.html code: #include <bits/stdc++.h> #define SIZE 400005 #define ll long long #defi
转载 2021-07-07 11:52:48
131阅读
题目 题目链接:https://www.luogu.com.cn/problem/P4245 给定 \(2\) 个多项式 \(F(x), G(x)\) ,请求出 \(F(x) * G(x)\)。 系数对 \(p\) 取模,且不保证 \(p\) 可以分解成 \(p = a \cdot 2^k + 1\
转载 2021-01-18 18:27:00
166阅读
2评论
题目背景 模板题,无背景 题目描述 给定 22 个多项式 F(x), G(x)F(x),G(x) ,请求出 F(x) * G(x)F(x)∗G(x) 。 系数对 pp 取模,且不保证 pp 可以分解成 p = a \cdot 2^k + 1p=a⋅2k+1 之形式。 输入输出格式 输入格式: 输入共
原创 2021-06-05 09:39:29
164阅读
  • 1
  • 2
  • 3
  • 4
  • 5