自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cww97的博客

鼓楼的夜晚时间匆匆

  • 博客(16)
  • 收藏
  • 关注

原创 codeforces 368(div 2)前三题

第一题 很多人没看到G,被坑了#include<cstdio>#include<iostream>int main(){ int n,m; char x,y; scanf("%d%d\n",&n,&m); bool ok = 1; for (int i=1;i<=n;i++){ for (int j=1;j<=m;j++){

2016-08-22 00:30:21 500

原创 hihocoder编程练习赛6+多重背包的各种姿势

题目现在在题库的1361~1364 比赛链接http://hihocoder.com/contest/hihointerview18/problems01:Playfair密码表 模拟题,秒 注意没有字母J#include<cstdio>#include<string>#include<cstring>#include<iostream>using namespace std;int

2016-08-21 20:34:44 700

原创 hihocoder1077,线段树单点修改的一点小技巧

如果有神犇会区间修改的非递归版本,求教啊线段树单点修改,区间查询最小值 可以看见我这代码里面全是for循环 zkw 大法好正常线段树是一颗近似的满二叉树,因为n不是2的k次方 就这样凑成了一个满二叉树M可以理解为非叶子节点的数量, 那么点i,i+n就是其在堆式储存的线段树数组里的index 一步找到,然后直接up,,单点修改结束区间查找的话,先变成开区间,然后还是向上更新#includ

2016-08-20 03:23:53 428

原创 [NOIP2013]货车运输,最大生成树+LCA

codevs3287 之前写过一个pascal版本的,年代有点久远了既然问最大的运货重量,那么每次都选众多路径中最大的边都显然是对的 那么把原本的图变成一颗最大生成树,选权值最大的n-treenum条边(treenum是联通块数量) 好吧,其实是个森林, 那么现在就变成了求树上简单路径上的最值 树上简单路径,,LCA咯, 同时可以像维护st表一样维护一个树上的RMQ 当然这里不能像st

2016-08-20 02:44:32 472

原创 hihocoder 1080 线段树:区间加法&赋值

题面蛮好玩的,,也行是因为我玩模拟城市的缘故 修模板了带两个操作的话,注意set和tag的顺序 每次down的时候先放set标记,再放tag标记 每次更新set的时候要把tag清空#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N =

2016-08-19 18:36:57 586

原创 hdu5861 Road,线段树,然后扫描

佣神给的思路线段树预处理每一个road的起始和结束时间 然后排序按天数扫描,每天看有没有需要增加新路,看有没有需要关闭路 因为是排好序的,所以不会重复扫#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int INF=0x3f3f3f3f;co

2016-08-18 20:58:11 480

原创 UVA11082 矩阵展开,最大流

某题解 题意:  知道矩阵的前i行之和,和前j列之和(任意i和j都可以)。求这个矩阵。每个格子中的元素必须在1~20之间。矩阵大小上限20*20。思路:  这么也想不到用网络流解决,这个模型很不错。假设这个矩阵的每一行是水管,每一列是水管,每行有出水口流到每一列,这样想比较好理解。然后每行的流量和每列的流量知道,就可以建图了。  建图过程,每行对应一个点,每列对应1个点,每行都可以流到每列,所以他

2016-08-18 01:15:25 624

原创 hdu5855二分+最大流

二分最大时间,最大流收益#include<queue>#include<cstdio>#include<vector>#include<string>#include<cstring>#include<iostream>using namespace std;typedef long long LL;const int INF = 0x3f3f3f3f;const int N=43

2016-08-17 20:12:08 619

原创 高斯消元 hdu5833,hdu3364,hihocoder1195

hdu5833刘汝佳训练指南160页原题题意:给300个数,选任意个数相乘,问多少种方法可以得到完全平方数(每个数LL范围,保证每个数的质因子不超过2000) 一点废话: 从提示可以看出,显然第一步分解质因数,由于每个数只能乘0或1次,所以4和16对于结果是等价的(3和27也是),统计每个数字的质因子个数然后模2,我们只需要最后每个质因子的指数是个偶数就行了,这里既然只有0或1,不如直接用异或来

2016-08-15 17:00:15 539

转载 傅里叶分析之掐死教程

作 者:韩 昊知 乎:Heinrich微 博:@花生油工人知乎专栏:与时间无关的故事谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。——更新于2014.6.6,想直接看更新的同学可以直接跳到第四章————我保证这篇文章和你以前看过的所有文章都不同,这是12年还在果壳的时候写的,但是当时没有来得及写完就出国

2016-08-14 00:38:40 328

原创 【DP】hdu4714树形DP,用c++交别用g++交

题http://acm.hdu.edu.cn/showproblem.php?pid=4714题意: 给你一颗n个节点的树,你可以删除或者添加一些边,代价都是1。问:要把这棵树变成一个环,至少需要多少代价? 对于一颗树(子树),如果他的儿子数超过1,则需要改动,, 如果他有父亲节点,那么代价是(son-2)*2(先拆再连),将这颗子树变成一个链 如果这个点是root,代价是(son-1)*2,

2016-08-13 19:30:16 616 2

原创 hdu3388容斥还有二分

题http://acm.hdu.edu.cn/showproblem.php?pid=3388题意:有三个正整数m, n, k, 求与m和n都互质第k个正整数(按从小到大排列)。一点废话: 讲m,n所以质因子提出,去重排序 求出mid中含这些因子的数的个数=ans,然后mid-ans就是第k个与m,n互质的数 都用mid了,,,二分之 下面的问题还剩怎么求ans, 容斥了,对于素数p[i]

2016-08-13 14:51:09 306

原创 CodeForces 27E 素数筛,暴力

题http://codeforces.com/problemset/problem/27/E题意 给定一个正整数n,求一个最小的正整数,使得它的因子个数恰为n。保证答案不超过10^18大家应该都知道质因数分解这玩意: 任意数字可以分解成x=p[1]^a[1]*p[2]^a[2]……p[k]^a[k] 此事x的因子个数等于π(a[i]+1)(连乘) (有证明不过链接我找不到了) 既然题目要因

2016-08-13 04:14:01 443

原创 矩阵模板hdu5015,UVA 10655,UVA 11149

hdu5015n是<=10的,可以想到点什么,, 构造矩阵mat[n+2][n+2] 发现mat*a是答案矩阵第1列 mat的m次方再乘a就是答案矩阵的第m列,取最下面的就行了这板不错#include<cstdio>#include<cstring>#include<iostream>using namespace std;typedef long long ll;const i

2016-08-13 02:10:41 400

原创 第八次多校,挂机三小时

01 额,乱搞#include <iostream>#include <cstdio>using namespace std;const int MAXN = 1000+5;int a[MAXN], b[MAXN];int l[MAXN], r[MAXN];bool vis[MAXN];int main(){ int T; cin >> T; while(T--

2016-08-12 01:30:24 343

原创 8.7排位赛,codeforces501

A 啥都不说了,,,秒 话说我把abcd打错了WA了一发#include<cstdio>#include<algorithm>using namespace std;int get(int p,int t){ return max(3*p/10,p-p/250*t);}int main(){ int a,b,c,d; while (scanf("%d%d%d%d"

2016-08-07 21:55:44 394 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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