排序:
默认
按更新时间
按访问量

hdoj 2665 主席树模版

原理:https://www.zhihu.com/question/31133885 教程:http://www.cnblogs.com/zyf0163/p/4749042.html 基本半天可以学会,不好的教程可能扣一天#include<map> #include<set&...

2017-04-09 21:57:56

阅读数:240

评论数:0

机器学习实战 kNN算法

#!/usr/bin/env python3 # -*- coding: utf-8 -*- #Remove dict.iteritems(), dict.iterkeys(), and dict.itervalues(). #Instead: use dict.items(), dict.ke...

2017-03-10 21:12:34

阅读数:273

评论数:0

codeforces 373div1 Sasha and Array 矩阵+线段树

用线段树储存价值和,因为矩阵 a1 * b + a2 * b + a3 * b + a4 * b + a5 * b = (a1 + a2 + a3 + a4 + a5) * b; 然后进行下优化,尽量减少快速幂的运算数量#include<cstdio> #include<al...

2016-10-07 14:58:21

阅读数:221

评论数:0

383C - Propagating tree 线段树加时间戳

首先每次处理以一个点为根的所有子树点 就要用时间戳加线段树区间更新 因为每次add一个点,那么加减是交替的,所以线段树存储深度为奇数的点的add值 最后查询如果是偶数 ans = -ans;#include<cstdio> #include<algorithm> #in...

2016-09-08 17:33:00

阅读数:261

评论数:0

codeforces 711E 勒让德定理 逆元

要先化简再取模 公式很好推主要是化简 用到两条性质 1. gcd(2^n - k, 2^n) = gcd(k, 2 ^ n) 因为当k为奇数 2^n - k 为奇数 那等式两边都为1 当k为偶数时 2^n - k 为偶数 k = b * 2^k1 b为奇数 2^n - k = 2^k1*...

2016-09-06 22:37:45

阅读数:322

评论数:0

codeforces 711D Directed Roads dfs

首先给的每个点只有一个出度既不可能有大于一个出度 每条边可以改变方向 所以每个点最多只能在一个环上,且所有有向环的信息已经给出因为每个点只有一个出度 dfs把每个环都求出来 ans *( 2^n(环的边数) - 2) 最后ans * 2^m(链的边数)#include<cstdio&...

2016-09-06 12:46:58

阅读数:193

评论数:0

codeforces Recover the String

题目很好推 00的个数推0的个数 11的个数推1的个数 如果存在那么就判断四个数的合是否为 C(0和1的总个数,2)如果存在有解贪心一下就行即根据第二个数值和1的位置固定然后叉进0最后使其成立 有个超级坑的就是00或11的个数 是0时那0或1的个数是0 或者是1要特殊判断!!!!#include...

2016-09-05 22:41:43

阅读数:340

评论数:0

湖南省赛 有向无环图 水dp

如果两个点之间有多条边,那就相当于一个点连多个相同的点然后dfs跑一下累加和就行了记得记忆化搜索剪枝#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #...

2016-09-05 19:33:24

阅读数:316

评论数:0

hihocoder #1228 : Mission Impossible 6 模拟

总结 :1 .题意理解 2. 插入要从后往前枚举更新, 删除要从前往后枚举更新数据结构没学好。。。。#include<cstdio> #include<cstring> #include<algorithm> #include<i...

2016-09-05 12:27:07

阅读数:219

评论数:0

hihocoder Boxes 状压八进制bfs 加预处理

每三位代表第i个格子的目前位置 这三位为0代表没这个数 然后最多7个数 也就是 8^7 约等于 400000 所有从终点到起点反向预处理 学到的技巧 数据量不大要先想到搜索 如果感觉这时搜索会超时可以考虑预处理什么的#include<cstdio> #include<al...

2016-09-04 15:45:49

阅读数:207

评论数:0

poj 3345 Bribing FIPA 树形dp

dp[i][j] 代表第i个点获取j个体积所需最小价值, 每个物品的体积就是它所支配的子节点的数量,价值就是它的点值了#include<cstdio> #include<cstring> #include<algorithm> #include<iost...

2016-09-04 11:06:22

阅读数:174

评论数:0

poj 2486 树形dp

dp[i][j][0] 代表走到第i个点 还能走j步 最后返回i的最大价值 dp[i][j][1] 代表走到第i个点 还能走j步 最后不返回i的最大价值 一般目标来回往返并每步都有消耗的题都是这种记录往返标识的dp#include<cstdio> #include<cstri...

2016-09-03 20:52:46

阅读数:270

评论数:0

poj 1947 Rebuilding Roads 树形dp背包

dp[i][j] 代表以i为根 大小为j需要拆的最小边数 然后dp 注意边界处理对于每个子节点x不连的话dp[i][j] + 1连得话就是 dp[i][j - k] + dp[x][k]; 然后除了根节点最后计算结果都要加1因为还要把跟父节点相关的边拆掉 #include<cstdio&...

2016-09-03 15:14:16

阅读数:210

评论数:0

poj 1155 TELE 树形背包dp

dp[i][we] 代表节点为i 给k个消费者提供信号的所赚钱术 这时we就是背包容量,每个子节点的每个dp[son][j] 0 <=j<= num[j]; 就是各个物品了#include<cstdio> #include<algorithm> #include...

2016-09-02 21:09:44

阅读数:259

评论数:0

codeforces 218D Choosing Capital for Treeland 树形DP

给一个有向树每条边可以改变方向求改变的最小边数使其最后连通 先dfs一下求出以1为根的每个点与儿子联通的最小改变数 然后再dfs合并它与父亲的联通信息#include<cstdio> #include<cstring> #include<algorithm>...

2016-09-02 16:53:13

阅读数:380

评论数:0

hdoj 2196 Computer 树形dp经典题

首先简单的树形dp求祖宗到儿子的最长距离并记录最短距离是哪个儿子 此时对于每个点只维护了儿子到它的最短距离 还要记录祖宗到它的最短距离这时需要再跑一遍dfs把每个点与祖宗相关的到它的最长边搞出来 经典模型必须熟悉啊!!!!!!#include<cstdio> #include&l...

2016-09-02 13:01:50

阅读数:190

评论数:0

hdoj 5787 K-wolf Number 数位dp xjb搞水过

二维记录前五个数的转态和先后顺序 数组53MB水过。。。。#include<cstdio> #include<algorithm> #include<iostream> #include<cstring> #define LL long long u...

2016-09-01 22:55:51

阅读数:347

评论数:0

hdu 4352 XHXJ's LIS 状压数位dp

求a - b 的按每位值来最长lis长度为k的个数 当求lis时 每加入一个数看此时的lis中有没有数大于等于它且前一个数小于它,有的话将这个位置替换成这个数,没有的话把它填入到末尾 lis+1 所以dp[i][sym][len] 代表 推到第i位,此时组成状态为sym, 最后lis长度为le...

2016-09-01 20:49:35

阅读数:171

评论数:0

hdu 4507 吉哥系列故事――恨7不成妻 数位dp

dp[i][mod1][mod2][0] 为 第i位后 数位和%7为mod1 数值%7为mod2 的满足条件的累加值的和 dp[i][mod1][mod2][1] 为 第i位后 数位和%7为mod1 数值%7为mod2 的满足条件的累加平方值的和 dp[i][mod1][mod2][2] 为 ...

2016-09-01 15:58:20

阅读数:202

评论数:0

spoj BLANNUM 数位状压dp

这题刚开始想的关系不对是因为没有考虑这个奇偶是相对于出现的数字来说的 所以dp[1024][1024][21][2] 一维代表出现的数字的状压形记录,二维表示出现数字奇偶的记录,三维代表推到第几位,四维代表是否有前导非零数 然后数位dp就行了#include<cstdio> #in...

2016-09-01 10:50:15

阅读数:185

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭