C#黎明前的黑暗】的更多相关文章

学习编程已经很久了,然而技术还停留在远古时代,丝毫没有什么进步的痕迹,平常也就写一些小软件来处理工作上面遇到的一些很繁杂的问题,天生愚笨或许就是说的我. 黎明前的黑暗期,真的太长了,烂烂的文章就像烂烂的代码一样,没有逻辑感,没有篇幅,简简短短的几行就草草的解决着一个又一个的小问题,却没有一套完整或者大一点的程序. 从现在开始就要重复造轮,实现一套属于自己的功能模块,一个小模块小模块的攻克.…
[uoj#310][UNR #2]黎明前的巧克力 FWT - GXZlegend - 博客园 f[i][xor],考虑优化暴力,暴力就是FWT xor一个多项式 整体处理 (以下FWT代表第一步) FWT之后,一定只有-1,3 而FWT的和等于和的FWT 所以做和,然后FWT一下 列方程就可以得到每一位的-1和3的个数了 而对于一些多项式,分别FWT.IFWT和FWT后乘起来再IFWT是一样的 我们已经快速幂得到n个多项式FWT的乘积了 再做一次IFWT即可 还是想到FWT集体处理,必然要注意顺…
[UOJ#310][UNR#2]黎明前的巧克力(FWT) 题面 UOJ 题解 把问题转化一下,变成有多少个异或和为\(0\)的集合,然后这个集合任意拆分就是答案,所以对于一个大小为\(s\)的集合,其贡献是\(2^s\). 于是我们可以弄出若干个\((1+2x^{a_i})\)这样子的多项式,然后异或卷积把它们卷起来就是答案. 根据\(FWT\)异或卷积的理论,如果\(i\)位置有一个\(1\),那么\(FWT\)之后对于\(j\)位置的贡献是\(-1^{pop\_count(i\&j)}\).…
「UNR#2」黎明前的巧克力 解题思路 考虑一个子集 \(S\) 的异或和如果为 \(0\) 那么贡献为 \(2^{|S|}\) ,不难列出生产函数的式子,这里的卷积是异或卷积. \[ [x^0]\prod_{i=1}^{n} (2x^{a_i}+1) \] 因为每一项只有两项 \(x^0,x^{a_i}\) 有值,记 \(f_i(x) =2x^{a_i}+1\), \(f'_i(x)=\text{Fwt}f(x)\) ,有 \[ f_i'(x)=\sum_{S} (1+2\times(-1)^…
[UNR #2]黎明前的巧克力 首先可以发现,等价于求 xor 和为 \(0\) 的集合个数,每个集合的划分方案数为 \(2^{|S|}\) ,其中 \(|S|\) 为集合的大小 然后可以得到一个朴素 dp ,令 \(dp_{i,j}\) 代表前 \(i\) 个数字 xor 和为 \(j\) 的集合个数 显然转移为 \[ dp_{i,j}=dp_{i-1,j}+2dp_{i-1,j \ xor \ a_i} \] 从 FWT 的角度考虑,转移其实就是每次卷上 b \[ b_{0}=1,b_{a[…
LINK:黎明前的巧克力 我发现 很多难的FWT的题 都和方程有关. 上次那个西行寺无余涅槃 也是各种解方程...(不过这个题至今还未理解. 考虑dp 容易想到f[i][j][k]表示 第一个人得到巧克力的状态为j 第二个人为k的方案数. 期望得分0. 观察状态转移和最终的目标状态 可以将状态降维 变成f[i][j]表示两个人异或的结果为j的方案数. 这样复杂度是\(n\cdot W\)的 其中W为值域. 观察转移 可以发现是一个异或卷积的形式 所以复杂度就变成了\(m\cdot W\cdot…
uoj310[UNR #2]黎明前的巧克力(FWT) uoj 题解时间 对非零项极少的FWT的优化. 首先有个十分好想的DP: $ f[i][j] $ 表示考虑了前 $ i $ 个且异或和为 $ j $ 的方案数, 有 $ f[i][j]= f[i-1][j] + 2 * f[i-1][j \oplus a[i]] $ . 可以考虑FWT,但很明显时间复杂度没有优化. 但另一方面,每层的卷积卷的都是 $ 1,0,0,...,2,0,0,... $ 的形式, 这样一来卷之后每项都是 $ -1 $…
Sol 某比赛搬了这题. 首先选择两个不交非空子集且异或和为0的方案数,等价于选择一个异或和为0的集合,并把它分成两部分的方案数. 这显然可以DP来算,设 \(f[i][j]\) 表示前\(i\)个数异或和为\(j\)的方案数,那么转移就是 \(f[i][j]=f[i-1][j]+2\cdot f[i-1][j\;\text{xor}\;a[i]]\) 如果设 \(b_i[0]=1,b_i[a[i]]=2,b_i[j]=0\),那么这个转移就是求\(f\)与\(b_i\;\text{xor}\)…
题目描述 给出 $n$ 个数,从中选出两个互不相交的集合,使得第一个集合与第二个集合内的数的异或和相等.求总方案数. 输入 第一行一个正整数 $n$ ,表示巧克力的个数.第二行 $n$ 个整数 $a_i$ 表示每个巧克力的美味值. 输出 输出一行一个整数,表示能使得他们心情契合的吃巧克力的方案数对 998244353 取模的结果. 样例输入 61 2 3 4 5 6 样例输出 80 题解 FWT 首先如果两个集合的异或相等,那么它们的异或为0.原问题转化为求选出一个异或和为0的集合并分为两个即可…
UOJ 思路 显然可以转化一下,变成统计异或起来等于0的集合个数,这样一个集合的贡献是\(2^{|S|}\). 考虑朴素的\(dp_{i,j}\)表示前\(i\)个数凑出了\(j\)的方案数,发现这其实就是一堆多项式用异或卷积搞起来.第\(i\)个多项式是\(1+2x^{a_i}\). 对\(1+2x^{a}\)FWT一下,发现结果就只有-1和3.为什么?根据FWT的理论,\(a_i\)会对\(FWT(a)_j\)产生\(a_i\times (-1)^{\text{bitcnt}[i\&j]}\…
目录 @description@ @solution@ @accepted code@ @details@ @description@ Evan 和 Lyra 都是聪明可爱的孩子,两年前,Evan 开始为一个被称为UOJ的神秘的OI组织工作,在 Evan 与其他小伙伴的努力下,UOJ不仅成了OI界原创比赛的典范,更是因UR这一反人类难度的存在而举世闻名.然而今年,随着 Evan 前往世界彼岸,UOJ一天天减少着他的活力,而就在OI历新年的黎明--NOI的前夕,刚回家不久的Evan听到了清脆的敲门…
题目描述: uoj 题解: WTF. 看题解看了一个小时才看明白. 首先有状态$f[i][j]$表示前$i$个东西两人取,最后两人异或和为$j$的有多少方案. 转移为$f[i][j]=f[i-1][j]+2*f[i-1][j \oplus a[i]]$. 显然跑FWT做异或卷积(显然会T). 发现卷积中每次卷的是{1,0,0,--,0,2,0--}这样一个东西. 打表发现FWT后每一项是-1或3. 其实很好解释,从贡献的角度讲,0位的贡献都是1,而$a[i]$位的贡献是2或-2,所以是3或-1.…
快两年了,Iveely Search Engine已经走过了5个版本的岁月,虽出生“贫寒”,没有任何开源基金会的支持,没有优秀的“干爹.干妈”,它凭着它的爱好者的支持,0.6.0终于破壳而出,7年前,我开始研究搜索引擎,开始构思我的想法,今天的0.6.0是目前最接近我最初想法的一个版本.简单的说,搜索引擎会让机器人越来越聪明,当然源码依然在这里 (安装部署). 在Iveely Search Engine 0.6.0里,我们为大家带来了什么?新的视野,未来的搜索方式.还记得,我们发布0.1.0的时…
来自FallDream的博客,未经允许,请勿转载,谢谢. 传送门 很奇妙的一道题 首先不难发现一个暴力做法,就是f[i]表示异或和为i的答案数,每次FWT上一个F数组,其中F[0]=1,F[ai]=2,最后输出f[0]即可. 这样我就考虑从FWT之后的数组入手. 首先发现F[0]=1只会让最后的数组全部+1,所以只考虑F[ai]=2的影响. 发现每个项只会是3或者-1,这取决于FWT过程中的取反次数. 所以可以设计一个dp,f[i][x]表示分治到第i层,x是2的方案数,F[i][x]表示...…
神仙题啊... UOJ #310 题意 将原集合划分成$ A,B,C$三部分,要求满足$ A,B$不全为空且$ A$的异或和等于$ B$的异或和 求方案数 集合大小 $n\leq 10^6$ 值域$val \leq 10^6$ 题解 如果要满足$ A,B$的异或和相同,必然有$ A \cup B$中所有元素异或和为$ 0$ 如果存在这样一个集合$ A \cup B$,这之中的每个元素可以在集合$ A$中也可以在集合$ B$中 即对答案产生$ 2^{|A|+|B|}$的贡献 设每个元素$ a_i$…
题意 给出 \(n\) 个数 \(\{a_1, \cdots, a_n\}\),从中选出两个互不相交的集合(不能都为空),使得第一个集合与第二个集合内的数的异或和相等,求总方案数 \(\bmod 998244353\) . \(n, a_i \le 10^6\) 题解 简单转化一下,其实就是对于每个选取集合中元素异或积为 \(0\) 的集合,都会有 \(2^{|S|}\) 的贡献. 用集合幂级数形式写出来其实就等价于: \[ \prod_{i = 1}^{n} (1 + 2x^{a_i}) \]…
题意 题目链接 Sol 挂一个讲的看起来比较好的链接 然鹅我最后一步还是没看懂qwq.. 坐等SovietPower大佬发博客 #include<bits/stdc++.h> using namespace std; const int MAXN = (1 << 23) + 10, mod = 998244353, inv2 = (mod + 1) / 2, inv4 = 748683265, lim = 1048576; inline int read() { char c =…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ310.html 题目传送门 - UOJ#310 题意 给定 $n$ 个数 ,请你选出两个不相交的集合(两个集合交换一下也算一种),问有多少种选择方案使得两个集合各自包含的数的异或值 相等. 不能两个都不选. $n,a_i\leq 10^6$ 题解 首先,问题可以转化成:选择两个集合,他们的异或值为 $0$ . 我们可以构造幂级数. 对于 $a_i$ 我们构造: $h_i(x)=x^0+2x^{a_i}$…
题解: 不会FWT,只能水40分了 首先,要观察出的性质就是: 选出的集合要满足所有数亦或等于0,而在其中任选子集都可以满足条件,答案就等于sigma(2^size(s)) 这样dp一波显然就可以O(na)了(由性质可知转移到新状态*2) 然后考虑数很少的 发现同一个数是奇数就是ai偶数就是0 所以仍旧这么dp一下 也就是转移的时候乘(2^1+2^3+2^5....) 不变的同理…
[题目链接] http://uoj.ac/problem/310 [题目大意] 给出一个数集,A从中选择一些数,B从中选择一些数,不能同时不选 要求两者选择的数异或和为0,问方案数 [题解] 题目等价于选取一个非空且xor为0的集合并将其拆分为两个子集的方案数 用dp表示xor为j的方案数,易得dp方程dp[i][j]=dp[i-1][j]+2*dp[i-1][j^a[i]] 该式等价于dp数组与只有两个元素有值的g[0]=1,g[a[i]]=2的数组做卷积运算 对g数组进行反演可以发现每次卷积…
uoj description 给你\(n\)个数,求从中选出两个交集为空的非空集合异或和相等的方案数模\(998244353\). sol 其实也就是选出一个集合满足异或和为\(0\),然后把它分成两半. 利用生成函数那套理论,就是对于每个\(a_i\),构造一个多项式\(b_i\),其中\(b_0=1,b_{a_i}=2\),然后把这\(n\)个\(b\)做集合异或卷积.这样我们就得到了一个优秀的\(O(na_i\log a_i)\)的做法辣(雾). 我们考虑一下\(b_0=1,b_{a_i…
题目传送门 题目大意:给你一个序列,定义一个子序列的权值表示子序列中元素的异或和,现在让你选出两个互不相交的子序列,求选出的这两个子序列权值相等的方案数,$n,a_{i}\leq 10^{6}$ 这是一道考察对$FWT$算法理解的好题.然而我并不会 思路来自出题人的题解 假设权值最大值为$m$ 暴力怎么搞?背包$DP$一下 定义$f(i,j)$表示现在遍历到了第$i$个元素,选出的两个子序列异或和为$j$的方案数,容易得到方程: $f(i,j)=f(i-1,j)+2*f(i-1,j\;xor\;…
昨天跟大家分享了Hibernate中单向的一对多.单向多对一.双向一对多的映射关系,今天跟大家分享下在Hibernate中双向的多对多的映射关系 这次我们以项目和员工举个栗子,因为大家可以想象得到,在真实的环境下,一个项目肯定是对应着多个员工的,这毫无疑问, 那么同时,一个比较牛员工也能同时参与多个项目的开发,这就体现了双向多对多的关系. 首先呢,我们得弄清楚在底层数据库中表与表之间的关系,我们创建一个员工表(Employee)和项目表(Project)毫无疑问,那么我们要怎么体现出多对多的关系…
改进iOS客户端的升级提醒功能 功能设计 先申明一下,我是码农,不是一个产品经理,但我觉得现有市面上的很多 App,设计的 "升级提示功能" 都不太友好.在此分享一下我的想法,欢迎大家讨论. 这些 App 包括:新浪微博.网易微博.网易新闻客户端以及大部分带有升级提示功能的 App,所以我觉得这个问题还是挺普遍的.对于该问题,一句话描述起来就是:"这些 App 都会在用户刚刚使用它的时候,提示有新版本,让用户去 AppStore 上下载最新的版本".下面是某个应用的…
(大讲台:国内首个it在线教育混合式自适应学习) 如果没有那次学习机会,我依然深陷在封闭的泥塘里. 我是今年刚毕业的大学生,我学习成绩不错,所学也是国内很厉害的专业,全国范围内只有6所院校拥有学位授予权.在大多数眼里,我学习好,在一个全国知名的院校学习,学习全国知名的专业,想来我一定很满足.会很幸福.但太多人都不知道,扪心自问我过去四年的大学生活真的是稀里糊涂,每当一个人躺在床上或者在操场上漫步,回顾逝去的四年时光,我竟然找不到一丝一毫让我会心一笑或者切合心意的点滴事件. 我不知道我未来将会走向…
第三章 传奇的开始--Delphi "是惊世之作的Delphi让Borland重新站了起来,没有当初的Delphi,就没有今日的Borland!" "是Turbo Pascal诞生了Borland,但却是Object Pascal给予了Borland重生的机会!" 创造传奇故事的主角--Delphi 没有人会知道在两年后Borland C/C++会遭遇到这么大的失败,也没有人会预料到Borland又会再次因为Pascal而东山再起.Borland奋斗史精彩的地方就在…
2014,新年伊始,我不再是那个憧憬离开大学校园.过自由生活的傻丫头了.23岁,时间荏苒,差不多四分之一的人生已悄然逝去,大学生活差不多也快要画上句号了.工作.工作永远都是人生的一部分.曾想着随便找一工作先干着,以后的生活也就顺其自然,感觉自己大学也没有学到什么技术,出去找对口工作也许是天方夜谭.大学老师曾提醒过我,一个人选择了什么样的伴侣意味着以后过什么样的生活,找工作也一样,不要相信什么先就业后择业,那样浪费的是时间,生活也就没有了重心.既然选择了一份合适工作,才能在这个行业去奋斗.人不逼自…
一.前言&回顾 在上篇文章Session分布式共享 = Session + Redis + Nginx中,好多同学留言问了我好多问题,其中印象深刻的有:nginx挂了怎么办?采用Redis的Session方案与微软Session方案相比,有什么优势呢?Cookie也可以取代Session的,采用Redis的Session方案优势在哪里?Nginx的iphash方式到底是什么?MachineKey有啥用?Net Core怎样实现? 那会儿看到大家的提问,我的回答也只是从应用层面回答,基本上的回答可…
[img]http://dn-filebox.qbox.me/8c218c119046b2a25df2d9c7b00c1e0fa6899bdd.png[/img]NO:01 交易策略 ≠ 交易系统. 一个完整交易系统,其实是交易者给自己定的各种规则,它包括了交易的各个方面,其中并没有给交易者留下一点主观想象的余地.大多数成功的交易者都是使用机械交易系统,这并非偶然. 一个正期望的交易系统可以自动运行整个交易程序.在交易中每项决策,交易系统都会给出答案.它至少应该包含策略选择.品种选择.资金管理.…
联赛就这样结束了. 感觉真是奇怪啊.以前看重的东西,像是忽然扔下的包袱,一下子轻了. 而我一直在逃避的,不愿直面的东西,果然终于还是要再次面对了啊. 文化课百废待兴,\(noip\)的最终结果依然未知.前路怎么走,我还很不确定. 联赛拿到省前\(20\),我就走下去:如果还要更好一点,我就做好投入更多的时间的准备.否则我就乖乖去学文化课,和\(Olympaid\) \(of\) $information $不再扯上关系.这,是我的初步想法. 说起来,似乎我已经为自己规划的很清晰,只要执行就好--…