- 博客(16)
- 收藏
- 关注
原创 [BZOJ4816][Sdoi2017]数字表格 数学
考虑每个fif_i对答案的贡献,就能得到式子 ∑k=1nf∑d|kμ(d)⌊nkd⌋⌊mkd⌋k\sum_{k=1}^nf_k^{\sum_{d|k}\mu (d)\lfloor \frac{n}{kd}\rfloor \lfloor \frac{m}{kd}\rfloor} 转化成枚举kdkd,令T=kdT=kd ∏T=1n(∏d|Tfμ(Td)d)⌊nT⌋⌊mT⌋\prod_{T=1}^n
2017-05-31 16:51:08 417
原创 [BZOJ4870][Shoi2017]组合数问题 矩阵快速幂
诶感觉这题很套路啊 听说赛场上写出来的人不多 可能比赛的时候比较紧张这题放最后一题没那么好像吧 解法到不是特别难相当于求一个模意义下的杨辉三角嘛 塞到矩阵里面转移就好了#include <bits/stdc++.h>#define N 55using namespace std;typedef long long LL;inline int rd() { int x=0,f=
2017-05-29 22:32:56 522
原创 [BZOJ4873][Shoi2017]寿司餐厅 网络流
选择区间[l,r],那么必须选择区间[l,r-1]和[l+1,r] 很容易可得一个最大权闭合子图的模型对于选取一个单点,花费的式子的形式是mx2+cxmx^2+cx 对每个单点开一个节点pp,对每个颜色开一个节点qq 对于单点编号为tt颜色为xx 每个pp连接到TT花费为xx,每个qq连接到T花费为mx2mx^2 选择单点,就必须选择对应的p和q跑一遍最小割即可 需要当前弧优化#inc
2017-05-29 22:30:28 563
原创 [BZOJ4872][Shoi2017]分手是祝愿 数学期望
先看N=k的,考虑一下怎么用最少步数解决这个问题。 一个做法是从高位到低位,没遇到一个开着的灯就将它关闭,易证这样的策略是最优的,而且是唯一的。 问题转化为目前有n个开关,其中有t个开关需要被按奇数次,求期望步数。F[t]表示由剩t个开关到剩t-1个开关所需要的期望步数。 Ft=tn+n−tn(1+Ft+1+Ft)F_t=\frac{t}{n}+\frac{n-t}{n}(1+F_{t+1}+
2017-05-29 22:23:29 932
原创 [BZOJ4869][Shoi2017]相逢是问候 扩展欧拉定理+势能线段树
根据扩展欧拉定理 当x≥ϕ(p) x\geq \phi(p)时有ax≡ax%ϕ(p)+ϕ(p)(modp)a^x\equiv a^{x \% \phi(p)+\phi(p)}(mod p) 我们发现在至多进行tt次操作后,a≡ca(modp)a \equiv c^a(modp),t为进行p=ϕ(p)p=\phi(p)多少次之后p=1p=1,tt的大小为O(log2p)O(log_2p)级别的
2017-05-27 14:19:43 566
原创 [BZOJ4868][Shoi2017]期末考试
上午做了他们省选的模拟赛 感觉好累啊,没啥状态 这题属于签到题,解法好想也好打,没心情拍,不过最后也算是签到成功了吧题目和学生可以分开来讨论,对两个数组分别排序 从小到大爆枚最晚出分的时间 分别算出等待的时间和调度的花费更新答案 注意B特别大的时候B一定不会作为最优解,直接特判掉不要算出来,那个值特别大会大于2642^{64} 时间复杂度取决于排序的复杂度,使用基数排序可以做到O(N)O
2017-05-27 11:23:23 597
原创 [BZOJ1055][HAOI2008]玩具取名 记忆化搜索
Fl,r,tF_{l,r,t}表示[l,r]区间的字符串是否能够用字符t代替 转移不是特别复杂,不过我还是拿记忆化搜索来写了 O(N3)O(N^3)状态,每个状态O(N)O(N)转移,总时间代价O(N4)O(N^4)#include <bits/stdc++.h>#define N 305using namespace std;int g[5][5][5];int dp[N][N][5],
2017-05-24 20:26:14 489
原创 一道有趣的数学证明题
试证明等式:∑j=1n∑k=j+1nCjnCkn(k−j)=nC22n2\sum_{j=1}^n\sum_{k=j+1}^nC_n^jC_n^k(k-j)=\frac{nC_{2n}^2}{2}从北京到广州两个半小时的飞机,上飞机前把题目抄在草稿纸上,心想飞机上无聊正好把这题给做了,做完看看电影睡睡觉估计就到了。然而这道题着实做了两个半小时,距离降落30分钟才搞定完整的解法,把解法在整理一遍的时间都
2017-05-23 20:45:02 1960
原创 [BZOJ1048][HAOI2007]分割矩阵 记忆化搜索
观察均方差公式 若将一个区域的代价定于为(该区域的和−平均数)2(该区域的和-平均数)^2,答案为代价的和n−−−−−√\sqrt \frac{代价的和}{n} 动态规划Fx1,y1,x2,y2,tF_{x_1,y_1,x_2,y_2,t}表示图上一个矩形,对这个矩形分割tt次得到的代价 当t=1时Fx1,y1,x2,y2,1=(sum−ave)2F_{x_1,y_1,x_2,y_2,1}=(
2017-05-23 20:06:25 389
原创 [NOI2014]魔法森林 二分答案
简单题吧 二进制各个位置是独立的 所以可以一位一位贪心来做 爆枚每一位是0还是1,然后O(n)O(n)验证 时间代价O(Nlog2M)O(Nlog_2M)#include <bits/stdc++.h>#define N 200050using namespace std;inline int rd() { int x=0,f=1;char ch=getchar();
2017-05-23 09:20:28 505
原创 [POJ2420]模拟退火
模拟退火模板 输出用%.0f不要用%.0lf WA一下午#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<queue> #include<cmath> #include<ctime> using namespace
2017-05-17 20:23:50 411 1
原创 [URAL2062]Ambitious Experiment 分块
题目大意: 做一个粒子的实验,粒子初始有一定的能量,实验过程中倘若第i个粒子被注入k能量,那该粒子就会增加k能量,同时第2i,3i,4i……(即i的倍数的粒子)也会增加k能量。 有一台特殊的机器,能够为一段连续的粒子注入一定的能量,需要回答相应粒子能量的大小单点查询的时候爆枚它的约数,那么我们有O(N)O(N)次区间修改和O(NN−−√)O(N\sqrt N)次单点查询,使用分块可以使修改做到单
2017-05-17 12:24:34 406
原创 AtCoder Grand Contest 014做题记录
这场AtCoder的题目以结论题为主 代码都很短,想法也都很巧妙A - Cookie Exchanges按照题目描述暴力即可 关键在于时间复杂度的证明 对于三个数aa,bb,cc,不妨设a≤b≤ca\le b\le c,变换等价于对0,b−a,c−a0,b-a,c-a三个数变换之后再加上aa,即三个数减去最小值后对步数没有影响 不妨令减去aa之后的三个数为00,bb,cc,变换后三个数变成b
2017-05-09 17:18:02 861
原创 [POJ2286]The Rotation Game IDA*
爆搜题 用些技巧想办法把它写短咯一次操作至多使中间8个数中最大相同的数的个数加一 估价函数设置为8-中间8个数中最多的相同的数的个数#include <iostream>#include <cstdio>#include <cstring>#define N 105using namespace std;inline int rd() {int r;scanf("%d",&r);ret
2017-05-09 08:19:05 383
原创 [BZOJ4731][UOJ267]魔法小程序
先把代码读懂,可以理解成为c是b的高维前缀和 a[i]a[i]是第ii维的长度 显然长度大于1的维数不会超过log2(m)log_2(m) 暴力还原回b就行了#include <bits/stdc++.h>#define INF 2147483647#define N 1000050using namespace std;typedef long long LL;LL a[10050
2017-05-06 14:21:41 677
原创 GDOI2017总结
2017.4.29 - 2017.5.1在东莞举行了三天的GDOI比赛,比赛过程一波三折,结果差强人意,进了省队。Day0:预定了10:00的闹钟,但6:00就爬起来了。早上最后复习了一下多项式算法,跟着纪中的同学坐了两个多小时的车去到了酒店。晚上感觉很兴奋很激动,复习了一遍模板,10:30就睡了,期待第二天的考试能够取得好的成绩。GDOI Day1:比赛前在考场门口和纪中二中的小朋友聊天,内心还是
2017-05-02 19:17:56 1970 14
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人