- 博客(31)
- 收藏
- 关注
原创 codeforces 593D 树链剖分
题目链接 给出一棵树,每棵树有value值,两种操作:1 u v x, 用x依次除以u到v路径上的数,然后 输出x,2 p x, 把第p条边的权值改为x. 直接树链剖分,然后用线段树维护乘积即可。注意 乘积可能爆long long , 可以用inf/a如果#include <cstdio>#include <cstring>#include <algorithm>#define lson
2015-11-12 19:02:10 919
原创 2015-2016 ACM ICPC Baltic Selection Contest [解题报告]
新地址链接A题:AHB 水题,直接上代码:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;typedef long long Long;const int maxn = 1e5 + 10;const int maxm = 256;int main(
2015-11-11 21:27:20 1740
原创 codeforces GYM 100792H
题意:给出n个1个字节的数(1<=n<=100000),用16进制的形式给出,每个数的范围00-FF, 找出一个子序列s, 使得0^s[0]+1^s[1]+2^s[2]+…k^s[k]的和最大,输出这个最大值。第一步:首先很容易想到一个简单的dp方程 dp[i][j] = max(dp[i-1][j], dp[i-1][j-1]+(arr[i]^j))dp[i][j]:代表前i个数一共选了j
2015-11-10 21:52:55 1256
原创 codeforces 593B Anton and Lines
题意:给出n条直线(1<=n<=1e5),问你在(x1,x2)这个区间是否存在交点当n = 1明显没有交点,NO当n = 2: 如下图其中a1为直线L1与x1的交点,b1为直线L1与x2的交点,可以发现如果两条直线要 在(x1,x2)之间相交,那么必须满足a1当n = 3:新博客地址我们发现如果L3与L1在(x1,x2)有交点,那么L3与L2在(x1,x2)必有交点,所以 所以,这种情况,我们只
2015-11-07 22:08:08 804
原创 mac下vim的16种配色方案(代码高亮)展示,及配置
原文地址点我 上一次提到如何使用mac自带的vim写代码,但是 如果没有代码高亮的话,用vim写代码确实不爽,于是,笔者今天花了一个上午的时间把mac下vim 的所有配色试了个遍,下面给大家展示一下mac下所有vim的配色方案的样式。darkblue delek elflord koehler murphy peachpuff shine torte default desert eveni
2015-11-07 11:57:37 22516 4
原创 mac下使用自带的vim编辑器编辑文件
mac下使用自带的vim编辑器编辑文件之前在网上查找如何在mac下使用vim,网上给出的答案大多是配置macvim, 今天在控制台输入vim, 意外的发现居然进入vim模式了!!!, 原来mac本身就自带vim, 在控制台的vim用起来简直是帅爆了, 就写c++代码来说,直接一个控制台可以完成建立文件,写代码,保存,编译,运行,所有的功能, 前提是,你的macbook,已经配置好gcc,和g+
2015-11-06 22:48:15 41187
原创 hdu 4374 One hundred layer 单调队列优化dp
One hundred layer Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on HDU. Original ID: 4374 64-bit integer IO format: %I64d Java class name: Main Now
2015-09-06 17:29:00 565
转载 ACM常用定理
定理1.费马小定理:费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且gcd(a,p)=1,那么 a^(p-1) ≡1(mod p) 假如p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1。定理2.模乘法得逆:对于两个整数a,b,a/b是整数,且a和b除以mod得余数分别为aa,bb,则a/b除以mod得余数为(aa*bb^(-1))%mod,
2015-04-18 21:05:24 1991
原创 c++primer学习笔记(3)-Compound Types(pointers and references) and const Qualifier.
1. The concept of Compound Types:A compound type is a type that is defined in terms of another type, C++ has several compound types, two of which---references and pointers.declarations consist o
2015-01-03 10:39:45 1234
原创 c++primer学习笔记(2)-Variables(names initialization scope declare)
Initializers:1.被初始化的变量在create那一瞬间得到值:double price = 109.99, discount = price * 0.6; 这样的定义是合理的。Three ways of initialization:1. int units = 0;2. int units = {0};3. int units{0};4. int
2015-01-01 09:59:29 708
原创 c++primer学习笔记(1)-primitive buit-in types and type conversions
1.关于 unsigned 的注意事项:1.unsigned int 可以缩写成 unsigned2.当用到char类型时,char 有3种形势,char, signed char 和unsigned char , 当我们写char 时,编译器会从signed char 和unsigned char 中选一种。signed char 是 -127 ~ 127, unsigned cha
2014-12-31 00:32:47 632
原创 算法导论学习笔记(4)-3种方法求最大连续子串
题目描述:给出一个数组,里面有正数,有负数,求找出一个连续的子串,使得这个子串的所有的数字的和最大。1234567891011121314151613-3-2520-3-16-231820-712-5-2215-47
2014-12-27 16:47:43 838
原创 算法导论学习笔记(3)-习题2.3-7-排序+二分
question(题意):Describe a O(n lg(n))-time algorithm that, given a set S of n integers and another integer x, determines whether or not there exist two elements in S whose sum is exactly x.设计一个O(n
2014-12-22 23:02:36 1113
原创 算法导论学习笔记(2)-归并排序
今天学习了算法导论上的归并排序算法,并且完成了在纸上写出伪代码,以前就学过归并但是理解的不够透彻,以前还一直困惑:为什么明明归并排序比快排的时间复杂度更稳定,为什么库函数不用归并而用快排,现在知道原因了,因为归并排序必须开额外的空间,而且空间开销还比较大,下面介绍算法:首先,归并排序用到了分治的思想,把大数据分成若干个小数据,然后再分别对小数据进行处理,最后把小数据合并成大
2014-12-21 00:44:35 1130
原创 算法导论学习笔记 -(1)
一个ACM若菜,趁着ACM淡季,开始学习算法导论了,经过一年的ACM学习,逐渐的发现,学东西,深入才是王道,以前学习一个算法,总是看懂了就开始做题,到后来才发现很多题目,会算法,却不知道是用这个算法,这就是算法理解的不到位的后果,从今天开始,定下目标:1.深入系统的学习算法,2.学会纸上写伪代码,每章的代码自己先在纸上写一遍,3.每节的学习笔记和算法都要写在博客上。在博客上记录自己
2014-12-19 22:53:58 784
原创 uva 11853 Paintball dfs找连通块
题意:给出一个矩形湖, 湖里面有一些圆形地小岛, 问能否从左岸乘船到达右岸,如果能,找出最上面的起点和终点。题解:如果能从左岸到达右岸,那么一定不能存在一个连通的岛屿从上岸连到下岸, 所以直接从上到下做dfs,判断是否存在从上岸到下岸地连通块,完成判断。那么接下来就是如何找出最上方地点了,画画图便发现,对于起点,如果存在跨越上岸和左岸地连通岛屿,那么起点一定只能在左岸地交点下方,所以,
2014-11-19 21:05:16 1253
原创 uvalive 6393(uva 1572) Self-Assembly 拓扑排序
题意:给出一些正方形,这些正方形的每一条边都有一个标号,这些标号有两种形式:1.一个大写字母+一个加减号(如:A+, B-, A-......), 2.两个0(如:00);这些正方形可以随意翻转和旋转,当两个正方形通过旋转或翻转,使得他们的公共边为相同大写字母并且符号相反时,他们就可以彼此结合拼在一起,现在给出n中正方形,每种正方形有无限多种,问这些正方形能否拼成一个无限大的结构。题解:
2014-11-19 16:48:48 1073
原创 hdu 2771(uva 12171) Sculpture bfs+离散化
题意:给出一些边平行于坐标轴的长方体,这些长方体可能相交,也可能相互嵌套,这些长方体形成了一个雕塑,求这个雕塑的总体积和表面积。题解:最容易想到直接进行bfs或者dfs统计,但此题的麻烦之处在于求整个雕塑的外表面积和雕塑内部可能出现四个长方体所搭成的空心,空心不能计算到表面积中,但是计算总体积却要计入,于是直接bfs或者dfs不好处理,于是,可以想到直接统计整个雕塑外围的所有小方块,即
2014-11-19 16:27:22 2190
原创 Acdream 1424 Diversion 树链剖分+线段树
题意:给定n个城市,和一些道路,道路有两种,一种是石头路,还有一种是乡村路,石头路形成了一棵树,即两两城市都可达,乡村路的加入使所有的石头路都处于一个或多个环中,即任意石头路被破坏后,城市间依然可以通过乡村路连通,现在敌国可以破坏一条石头路和一条乡村路,问,有多少种破坏方案,可以使破坏后,至少有一对城市不能互相到达。题解:仔细想想可以发现,石头路形成了一棵树,当这棵树上某一段道路被乡村
2014-11-01 13:19:22 888
原创 hdu 3810 Magina 队列模拟0-1背包
题意:出一些独立的陆地,每片陆地上有很多怪物,杀掉每个怪物都需要一定的时间,并能获得一定的金钱,给出指定的金钱m, 求最少要多少时间可以得到m金钱,仅能选择一个陆地进行杀怪。题解:这题,如果不管数据范围,很容易想到对每片陆地求一次0-1背包(dp(i, j) = min(dp(i-1, j), dp[i-1, j-money] + time), i 为金钱),然后在所有陆地中找出最少的
2014-10-29 14:55:17 858
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人