导航

上一页 1 2 3 4 5 6 7 ··· 15 下一页

2016年10月1日

摘要: /* 题意:给定一个长度为n的序列a。 两种操作: 1.给定区间l r 加上某个数x. 2.查询区间l r sigma(fib(ai)) fib代表斐波那契数列。 思路: 1.矩阵操作,由矩阵快速幂求一个fib数根据矩阵的乘法结合率,A*C+B*C=(A+B)*C; 这样可以通过线段树维护某个区间2*1矩阵的和。 2.时限卡的紧...用我的矩阵乘法板子TLE了。所以把板子里边的三重循环改成手工公... 阅读全文

posted @ 2016-10-01 09:37 tun~ 阅读(877) 评论(0) 推荐(0) 编辑

2016年9月25日

摘要: /* 题意: 两方对阵,互发导弹。防护罩可以让导弹原速反向。 每一枚导弹有发射时间航行时间伤害值。 防护罩也有开启时间和防御时间。 其中一方防护罩开启时间已知,求另一方防护罩合理安排开启时间使得己方受到的伤害最小。 思路: 假设己方的防护罩一只有效,那么我们可以根据对方防护罩的时间算出任何一枚导弹第一次落入己方和最后一次落入己方的时间。 然后类似扫描线的思维处理。 时间的计算可以直接来公式处理,... 阅读全文

posted @ 2016-09-25 10:58 tun~ 阅读(222) 评论(0) 推荐(0) 编辑

2016年9月23日

摘要: /* 题意: n个点的树,每个点给定一个权值,给定一个k,求任意一点的子树中,权值小于k/该点权值的点共有多少个。 思路: 1.很明显的子树的操作,应用dfs序。 2.比赛的时候傻逼了,一直在调划分树。实际上这题考虑序关系,加树状数组或者线段树就可以搞定了。 3.序关系:将权值按照从大到小的顺序排序进行查询,然后按照从小到大的顺序排序进行插入。 */ #include #define N ... 阅读全文

posted @ 2016-09-23 16:23 tun~ 阅读(245) 评论(0) 推荐(0) 编辑

2016年9月22日

摘要: /* CF傻逼构造题 某人要经过n回合游戏,初始分值是2,等级为1. 每次有两种操作 1.无条件,分值加上自己的等级数。 2.当目前的数字是完全平方数并且该数字开方以后是等级数加1的整数倍,那么可以将分值开方,等价加一。 问:每个等级需要执行多少次第一种操作。 思路: 很显然每次要加到的那个数可以是相邻两个数的平方的积..但是考虑到最后这样刚好会超long long... 但是我们最终也不要求... 阅读全文

posted @ 2016-09-22 16:54 tun~ 阅读(274) 评论(0) 推荐(0) 编辑

2016年9月21日

摘要: /* 题意: 给你l和r,范围9e18,求l到r闭区间有多少个数字满足,连续的奇数的个数都为偶数,连续的偶数的个数都为奇数。 例如33433符合要求,44不符合要求。不能含有前导零。 思路: 队友说是数位dp...我都反映不过来。 知道是数位dp以后,思路就显而易见了。 dp的方法是最后一位的性质,是偶数还是奇数,是连续的第偶数个还是第奇数个。所以一共只有四种状态,而题目中最多19位数字..... 阅读全文

posted @ 2016-09-21 22:08 tun~ 阅读(349) 评论(0) 推荐(0) 编辑

2016年9月6日

摘要: /* 题意:给一个长度不超过5000的字符串,每个字符都是0到9的数字。 要求将整个字符串划分成严格递增的几个数字,并且不允许前导零。 思路: 1.很开心得发现,当我在前i个区间以后再加一个区间的时候,转移 的条件只跟最后一个区间的数字大小有关,这决定这道题可以dp... 2.dp[i][j]代表前j个字符,最后划分的区间的第一个字符是第i个的答案数。 3.可知对于所有的dp[i][i...n]... 阅读全文

posted @ 2016-09-06 15:58 tun~ 阅读(295) 评论(0) 推荐(0) 编辑

2016年9月5日

摘要: /* 我是一个习惯后悔,但是没办法忍受内疚感的二货== 这题是个无脑dp,但是比赛大概20min没出...其实最后5min我好好想想简单化边界条件,可以出的。 题意: 给你一个长度为1e6的由?*01四种字符组成的字符串,类似扫雷,?代表当前不确定,0代表当前无雷,并且 两边无雷,1代表当前五雷且两边有一个雷,2同样的,问当所有格子已知以后一共有多少种可能的局面。 思路: 首先想到的是,这个问... 阅读全文

posted @ 2016-09-05 19:10 tun~ 阅读(220) 评论(0) 推荐(0) 编辑

2016年9月2日

摘要: /* 题意:n个点组成的树,点和边都有权值,当第一次访问某个点的时候获得利益为点的权值 每次经过一条边,丢失利益为边的权值。问从第i个点出发,获得的利益最大是多少。 输入: 测试样例组数T n n个数每个点的权值 n-1条无向边 a b c a和b是点的标号,c是边的权值。 思路: 注意题目只强调是从某个点出发,并不一定要回到该点。 考虑树形DP。 先随便定义一个树根。然后对于某个点,我们需要维... 阅读全文

posted @ 2016-09-02 18:28 tun~ 阅读(469) 评论(0) 推荐(0) 编辑

2016年8月31日

摘要: /* 思前想后 还是决定坚持写博客吧... 题意: n个点,m个集合。每个集合里边的点是联通的且任意两点之间有一条dis[i]的边(每个集合一个dis[i]) 求同时从第1个点和第n个点出发的两个人相遇的最短时间,并输出相遇的地点,如果有多个按编号大小顺序输出。 输入: 测试数据 t n m 以下m行每行 dis[i] 该集合点的数量 ...每个点的标号 数据范围: n 2-1e5 所有集合... 阅读全文

posted @ 2016-08-31 21:10 tun~ 阅读(133) 评论(0) 推荐(0) 编辑

2016年8月22日

摘要: struct Matrix { int h,w; long long mx[MAXS][MAXS]; Matrix() { h=0; w=0; memset(mx,0,sizeof(mx)); } Matrix operator* (const Matrix& b) const { ... 阅读全文

posted @ 2016-08-22 00:29 tun~ 阅读(153) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 15 下一页