摘要: 51nod 1113 矩阵快速幂 模版题 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <queue> 6 #include <cmath> 7 #in 阅读全文
posted @ 2019-01-27 09:31 Kaleidoscope233 阅读(182) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-12-31 23:59 Kaleidoscope233 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 0/100 阅读全文
posted @ 2018-12-08 21:11 Kaleidoscope233 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 好不容易打一场比赛写完2题信心满满能过结果快读写错炸成0分。。心态崩了。。 A 给一个序列长度n,求把最少数变成1使得任意长度大于等于k的子串gcd=1; 傻逼题。。答案是n/k 1 #include <iostream> 2 #include <cstdio> 3 #include <algori 阅读全文
posted @ 2018-11-02 14:18 Kaleidoscope233 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题意:买n个东西,这些东西有个原价m,若买东西i,则东西j降到a[i][j]元,求买n个东西最少的钱. 做法:若买i后买j的价钱a[i][j]比m小,那么连一条无向边,跑一波最小生成树. 看剩下还有几个点没连进去的就直接按原价买.. 1 #include <iostream> 2 #include 阅读全文
posted @ 2018-10-17 21:34 Kaleidoscope233 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题意很简单,不说了。 这题思路其实挺简单,把每个格编号为i,3*i走到3*j+1,3*i+1走到3*j+2,以此类推,注意一下边权是多少就好了. 然而一开始用分层图的普遍套路i+j*n*n编号调了好久发现不同层编号有冲突,mdzz.... 1 #include <iostream> 2 #inclu 阅读全文
posted @ 2018-09-01 16:21 Kaleidoscope233 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 双倍经验2333.... 了解到这是典型的分层图最短路,k次免费机会就有k层图,层与层之间边权是0,然后其他边照样建,跑最短路就行了. 2662边权减半同理呀。。。 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 阅读全文
posted @ 2018-09-01 16:17 Kaleidoscope233 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 求树上最长异或路径. 根据异或的性质,我们知道a^a=0,那么a^b^b^c=a^c; 所以我们随便找个点做根,然后dfs出每个点到根的异或路径长num[i],对于任意两点有两种情况,当根是他们的LCA时,那么两点异或路径和就直接是num[i]^num[j],不是LCA时,由于两条路径都包含了LCA 阅读全文
posted @ 2018-08-30 23:08 Kaleidoscope233 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 求两个不相交区间异或和的和最大. 设l[i]是1~i一段区间的最大异或和,r[i]是i~n一段区间的最大异或和,题意就是求max(l[i]+r[i+1]); 那么只要求l,r数组。 设num数组是个前缀异或和,根据异或的性质,我们要求i~j的异或和就是num[i]^num[j],所以对于l数组,我们 阅读全文
posted @ 2018-08-30 22:51 Kaleidoscope233 阅读(129) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-08-30 22:36 Kaleidoscope233 阅读(0) 评论(0) 推荐(0) 编辑