该文被密码保护。 阅读全文
posted @ 2019-08-10 12:01 Al_Ca 阅读(5) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-10 11:39 Al_Ca 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 神仙题。 作者的正解: 算法二:对于60%的数据:考虑直接枚举屋顶的位置,总花费与屋顶的高度的关系是一个单峰函数,,我们可以用三分法三分屋顶的高度. 时间复杂度O(n2*logn)。 算法三:对于100%的数据: 我们枚举屋顶位置再三分高度的做法,复杂度的瓶颈在于花费的计算。假设屋顶在i处,高度为h 阅读全文
posted @ 2019-08-10 11:11 Al_Ca 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 作者的正解: 对于100%的数据:行动可以分为两种: 1. 步行,花费一个单位的时间移动到4联通的相邻格子中去. 2. 使用传送门,指定一个方向的墙的前面的一个格子,步行至最近的一个墙的面前,使用传送门传送.花费的时间为到达最近墙面前花费的时间+1. 两种行动相组合即可组成任意行动过程.那BFS求出 阅读全文
posted @ 2019-08-08 21:38 Al_Ca 阅读(160) 评论(0) 推荐(1) 编辑
摘要: 作者的正解: 算法一:对于30%的数据: 直接枚举区间直接模拟,时间复杂度O(N3)。 算法二:对于60%的数据:枚举旋转中心点,然后再枚举旋转的端点, 我们可以用O(n)的预处理求前缀和记录固定点,总时间复杂度O(N2)。 算法三:对于100%的数据:假设有最优解为[i,j](i,j皆为下标,A[ 阅读全文
posted @ 2019-08-08 21:34 Al_Ca 阅读(162) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-08 20:49 Al_Ca 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-08 20:43 Al_Ca 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-08 06:13 Al_Ca 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-07 06:21 Al_Ca 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 又是一道神仙题。考试的时候居然打了一个回滚莫队,不知道我咋想的…… 先说一个某OJT80,洛谷T5分的思路(差距有点大): 可以把位置和编号映射一下,区间内最大值和最小值对应的位置,每次更新,直到找到符合条件的情况,复杂度玄学。最值的维护可以用ST表或者线段树,前者复杂度低些。 然后说正解吧: 先放 阅读全文
posted @ 2019-08-06 21:43 Al_Ca 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 一道非常神仙的题. 算法一:对于20%的数据: 模拟,直接走K步,时间复杂度O(K) 算法二:对于40%的数据:走M*N步内必有一个循环节。直接走,找循环节,时间复杂度O(M*N) 正解大概有两种做法(我是第三种……) 1.利用分块思想,一行为一块。用一个数组记录第一列第i行走M步到达的位置jump 阅读全文
posted @ 2019-08-06 20:51 Al_Ca 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 大水题一个,然而由于两颗线段树的阴影我死了…… 算法一:对于50%的数据: 送分,直接一个一个乘,时间复杂度O(KN)。 算法二:对于80%的数据:如果我们不一个一个乘,将第i行的和乘x ,第j列的和乘y ,所计算出的结果与正解不同的地方仅仅是(i,j)这一个元素。而这样的数不足K2个。所以我们把这 阅读全文
posted @ 2019-08-06 20:11 Al_Ca 阅读(182) 评论(2) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-06 19:53 Al_Ca 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-06 06:14 Al_Ca 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-04 21:35 Al_Ca 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdio> 4 #include<cmath> 5 #define LL long long 6 #define MAXN 1000100 7 using namespace std; 8 阅读全文
posted @ 2019-08-04 10:20 Al_Ca 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 打了好多个代码。 对于测试点1,11:手动模拟。 1 void QJ1_11() 2 { 3 if(n==2) 4 { 5 int tk; 6 if(pd(a[1]+a[2]))tk=2; 7 else tk=1; 8 if(tk<=k) 9 { 10 puts("1"); 11 puts(""); 阅读全文
posted @ 2019-08-04 07:22 Al_Ca 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 一眼看去树套树啊,我可能是数据结构学傻了…… 是应该去学一下莫队进阶的东西了。 上面那个东西我没有打,所以这里没有代码,而且应该也不难理解吧。 这么多平衡树就算了,不过线段树还是挺好打的。 正解3: 主席树啊,其实并不需要再加一个树状数组,因为每次修改只影响两个,暴力修改就行了。 正解4: 分块(就 阅读全文
posted @ 2019-08-04 07:11 Al_Ca 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 先说一个规律: 如图将每个月出生的兔子的编号写出来,可以发现一只兔子在哪一列他的父亲就是谁。 每列的首项可以通过菲波那契求得。 然后你就可以像我一样通过这个规律打表每个点的父亲,预处理出倍增数组,倍增求LCA,省掉了建树。期望得分70,实际得分50。 但是其实这已经很接近正解了:对于点i,那么fa[ 阅读全文
posted @ 2019-08-04 06:36 Al_Ca 阅读(206) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-04 06:09 Al_Ca 阅读(1) 评论(0) 推荐(0) 编辑
摘要: https://baijiahao.baidu.com/s?id=1610302746201562113&wfr=spider&for=pc 阅读全文
posted @ 2019-08-03 21:32 Al_Ca 阅读(132) 评论(1) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-03 20:02 Al_Ca 阅读(3) 评论(0) 推荐(0) 编辑
摘要: BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化) 1 #include<algorithm> 2 #include<iostream> 3 #include<cstring> 4 #include<cstdio> 5 #define MAXN 50010 6 #define LL 阅读全文
posted @ 2019-08-03 06:11 Al_Ca 阅读(175) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-02 21:37 Al_Ca 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 考试的时候理解错题了(无语)…… 那个看似很长的式子的意义其实是逻辑左移动,就是最高位会出现在最低位的意思(这谁能看出来……)。此时x取值经过那个式子后仍然可以遍历[0,2^n), O(m)枚举断点,那么x会异或[1,i],逻辑左移后异或[i+1,m],将这个数加入01trie即可,如果一个节点有两 阅读全文
posted @ 2019-08-02 21:23 Al_Ca 阅读(115) 评论(0) 推荐(1) 编辑
摘要: 完全没有思路,状压到死没调出来……吐槽一下这题目描述的好不清楚啊好多人都理解错题了…… 题解: 真的挺神仙的,因为有每列最多放1个的限制,所以考虑按列dp,设f[i][j]表示考虑前i列在[1,i]中的右区间中有j个1,初始状态f[0][0]=1;注:以下右区间表示[r[u],m]; 记录l,r的前 阅读全文
posted @ 2019-08-02 21:10 Al_Ca 阅读(192) 评论(6) 推荐(2) 编辑
摘要: 正解炸了…… 考试的时候想到了正解,非常高兴的打出来了线段树,又调了好长时间,对拍了一下发现除了非常大的点跑的有点慢外其他还行。因为复杂度算着有点高…… 最后正解死于常数太大……旁边的lyl用同样的算法拿了90分我却拿了个暴力的分40……花了那么多时间一分没多拿原地爆炸…… 由于大部分时间押在了T1 阅读全文
posted @ 2019-08-02 20:00 Al_Ca 阅读(132) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-02 06:36 Al_Ca 阅读(8) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-02 06:15 Al_Ca 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-01 09:51 Al_Ca 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-07-30 21:44 Al_Ca 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 调了一天,恶心死我了……作者的题解水的一b…… 测试点1~6: 暴力修改查询即可,期望得分30。 测试点7~14: k=1e5,相当于没有限制,那么对于树上每个点建权值线段树,线段树合并即可。 期望的分40,结合算法1 70分。 1 #include<algorithm> 2 #include<io 阅读全文
posted @ 2019-07-30 21:25 Al_Ca 阅读(212) 评论(0) 推荐(1) 编辑
摘要: 及其水水水的假期望(然而我已经被期望吓怕了……)。 数据范围及其沙雕导致丢掉5分…… 因为其实每天的期望是一样的,考虑分开。 f[i][j]表示做k道题,难度最大为j的概率。 则f[i][j]=(f[i-1][j])*(j-1)*tem+q[j]*tem;q为前缀和,tem为分母。 ps.if(k> 阅读全文
posted @ 2019-07-30 21:02 Al_Ca 阅读(183) 评论(0) 推荐(1) 编辑
摘要: 题解?noipT1还需要题解?正解就是$n^2$大暴力。 考试的时候打了$n^2$的暴力,也想到了正解的优化,然而觉得它太麻烦了,而且$n^2$怎么优化也过不了50000啊,而且即使不优化前面30分我也能拿到。 然而就把正解放弃了……完戏。 然而这题ifelse打的我好恶心啊…… ps.linux终 阅读全文
posted @ 2019-07-30 20:57 Al_Ca 阅读(190) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2019-07-30 20:43 Al_Ca 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-07-29 17:30 Al_Ca 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 由于沙雕错太多了所以不想写了,看着就难受…… 各种沙雕错(自从上次考试开始各种犯沙雕低错……): !!!sort是不稳定的排序,如果排序结构题只按其中一个关键字排序,那么在关键字相等时,排序多次的结果是不一样的。 1.无向图双倍边,累计挂掉 20分。 2.数组大小,开小了累计挂掉 45+20=65分 阅读全文
posted @ 2019-07-29 14:00 Al_Ca 阅读(244) 评论(9) 推荐(3) 编辑
摘要: 括号表示法: 据说比下一个要快而且灵活。 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #define LL long long 5 #define MAXN 20000 6 #define HASH 23333 7 #d 阅读全文
posted @ 2019-07-28 21:25 Al_Ca 阅读(183) 评论(0) 推荐(1) 编辑
摘要: 这个题的题解并不想写……一个写的很详细的blog 第1个测试点:mod=2,a[i]<mod(仔细看题),则n个数字都是1,直接输出1即可. 第2个测试点:每次乘上去的数字只有一种选择,快速幂即可. 第3,4,5个测试点:定义f[i][j]表示i次操作后x的数值为j的概率.直接转移,复杂度O(m*m 阅读全文
posted @ 2019-07-28 21:15 Al_Ca 阅读(156) 评论(0) 推荐(1) 编辑
摘要: 两个子任务真的是坑……考试的时候想到了60分的算法,然而只拿到了20分(各种沙雕错,没救了……)。 算法1: 对于测试点1,直接n遍dfs即可求出答案,复杂度O(n^2),然而还是有好多同学跑LCA/最短路…… 期望得分10; 算法2(搬运题解,因为这个我没有想到……): t=1的数据最直接的想法是 阅读全文
posted @ 2019-07-28 21:02 Al_Ca 阅读(266) 评论(0) 推荐(2) 编辑
ヾ(≧O≦)〃嗷~