自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(201)
  • 收藏
  • 关注

原创 陕西省集训(数位dp)

其实这篇文章写出来并不是陕西省集训这一系列该有的样子,只是呢,这种数位dp的写法确实是艾神所赐,我觉得不打上这个标头很对不起艾神,一直以来很怕数位dp,直到遇见这种递推的神奇dpA wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- string “13”

2016-09-01 12:43:59 354

原创 #codeforces #369 div2

全场wa longlong 无颜见江东父老a题找两个连着的O变成+#include <cstdio>#include <cstring>#include <iostream>using namespace std;int n;char s[1010][5];void init(){ scanf("%d",&n); int flag = 0; for(int i =

2016-08-30 20:42:34 264

原创 记录我的大一生活

为什么要写成博客这么正呢,其实只是习惯了唉,在学校培训了整整一个假期,突然学校里这么多人还是挺不适应的,可能是我这个人本来就喜欢热闹把,再加上感情上的一些挫折,看到满怀着欣喜的学弟学妹心情也会跟着好了起来。要说的话太多,却不知道从哪里说了,刚来大学的时候就遇到了一个贵人,虽然后来挺对不起人家的,但是我从来没有忘记过这个学长带着我度过刚来到大学的日子,教我c语言的基本语法,给我普及acm,我能走到今

2016-08-28 00:42:15 633

原创 tarjan帮我来找桥

http://acm.hust.edu.cn/vjudge/contest/129458#problem/B 判断图中各个联通分量是不是只有中间一条桥,两边都是完全图#include <cstdio>#include <cstring>#include <iostream>#include <vector>#define maxn 110using namespace std;vec

2016-08-24 20:47:46 398

原创 tarjan+缩点

之前有写过tarjan的模板,反正图论大大真是各种模板,比赛时候就不会,看出来也不会,看不出来更不会=。=,经常我们找到强连通分量之后不是数数个数就结束了,tarjan经常是帮别人一点而已,比如2-sat啊,桥啊,割点 啊什么的,这次只是简单的做了把连通块缩成一个点#include <cstdio>#include <cstring>#include <iostream>using names

2016-08-24 20:41:58 5479

原创 组队赛之SPFA+记录路径?

以后要放弃bellman-ford了,tle哭到爆炸#include <cstdio>#include <iostream>#include <cstring>using namespace std;#define maxn 110#define maxm 500005int n,m,row,cl;int head[maxn];int ans ,ansdis;bool vis[ma

2016-08-24 20:35:36 325

原创 2-sat

dfs模板ural 1382int n;int a[maxn], b[maxn], c[maxn];struct TwoSAT{ int n; vector <int> G[maxn*2]; bool mark[maxn*2]; int S[maxn*2], c; bool dfs(int x) { if(mark[x^1]) re

2016-08-24 11:01:30 304

原创 陕西省集训 day4(搜索下)

A题:http://codeforces.com/problemset/problem/540/C题意:从起始点到终止点走,’ . ‘表示裂的冰,‘X’表示已经碎了不能走了(起点可以),’ . ‘走过变成’ X ‘,最后要求这个人的末位置冰碎掉。思路:就是说最后末尾位置如果是’。’,要绕出去再回来踩碎它。。。当时读题半个小时QAQ#include <iostream>#include <cstd

2016-08-24 01:51:31 389

原创 陕西省集训day3(搜索上)

A题:http://acm.split.hdu.edu.cn/showproblem.php?pid=1175题意:简单版练练看,不能在外侧连,而且折线不能超过两次,中间当然也不能碰到别的东西,简化到每次只问一对,两次没有关系。思路:搜索的时候记得加上上一次的方向,加一个参数就行,如果变了方向就+1,不能超过2#include <iostream>#include <cstdio>#includ

2016-08-23 04:24:44 446

原创 陕西省集训day2(二分,贪心,枚举续)

I题:http://codeforces.com/problemset/problem/442/A题意:小明有25种牌,每张有花色和数值,现在他知道手里有哪些牌,但是不知道哪个是哪个。 旁边的人可以提示他花色,把某个花色的牌告诉他,或者数值,同理。求最少提示次数。思路:注释很清晰,用二进制代表花色或者数字是否已知#include<cstdio>#include <iostream>using n

2016-08-20 16:41:47 591

原创 陕西省集训day1(枚举,贪心,二分)

A题http://codeforces.com/problemset/problem/478/C题意:告诉你三种颜色的气球各几个,每张桌子需要3个气球,每张桌子上的三个气球颜色不能完全一样,问用已知的气球最多摆几只桌子思路:第一反应一定是相加除以三,但是有可能多的那个有剩余。 从小到大排序,如果最少的和第二少的都分开,分别放在不同的桌子上,那么最多的那个颜色比这个都多就说明多的部分是没有用处的=。

2016-08-20 09:48:54 413

原创 区间dp

http://acm.hust.edu.cn/vjudge/contest/121485#problem/AThe multiplication puzzle is played with a row of cards, each containing a single positive integer. During the move player takes one card out of th

2016-07-25 20:03:04 561

原创 HDU1269 强连通Tarjan

http://acm.hdu.edu.cn/showproblem.php?pid=1269 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否任意两

2016-07-25 19:48:58 370

原创 cf#363div2

Ahttp://codeforces.com/contest/699/problem/A有点智障的读了好久的题。。还思考了一下会不会出现隔着相遇的,但是是不可能的,只能是相邻 There will be a launch of a new, powerful and unusual collider very soon, which located along a straight line. n

2016-07-21 17:15:22 435

原创 假期集训--线性dp

例题Ahttp://acm.hust.edu.cn/vjudge/contest/view.action?cid=121767#problem/AFigure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at th

2016-07-15 18:24:16 1015

原创 关于socket

1.TCP/IP和UDP区别TCP是可靠地,如果这个通道坏了,会有其他方法修复或者重建通道,消息太多时也会有办法去处理溢出的信息。 UDP来说,设计角度就是不可靠的,省略其中很多流程,得到较快的速度,数据的可靠性由上层协议即应用层来保证,消息是否传达也无法做出保证。TCP/IP模型里面,网络分为五层:从上往下是应用层,传输层,网络层,数据链路层,物理层。 *物理层:通信的物理条件。 *数据链路

2016-05-30 10:08:42 1000

原创 省赛后周赛1

A题http://acm.hust.edu.cn/vjudge/contest/view.action?cid=117863#problem/B题意:裸拓扑排序,先出现的必须在后面那个前面 拓扑排序:找到入度为0的点,加入队列,把入度为零的点的链接点入度减1,遇到入度为0的加入队列、#include <cstdio>#include <iostream>#include <cstring>#

2016-05-26 23:38:43 329

原创 cf#354

A题http://codeforces.com/contest/676/problem/A题意:让最大的数字和最小的离得最远,只能做一次交换#include <cstdio>#include<iostream>using namespace std;int main(){ int ans,n,i,x,y,t; scanf("%d",&n); for(i=0;i<n;i

2016-05-26 21:10:40 355

原创 cf#352

A题http://codeforces.com/contest/672/problem/A模拟打表即可#include <iostream>#include <cstdio>using namespace std;int b[2010],a[1010],p = 1;void cf(){ for (int i = 1; i < 500 ;i++) { int te

2016-05-21 21:16:15 543

原创 cf#350 div2

A题http://codeforces.com/contest/670/problem/A题意:给你一年的天数,问你最多最少几个周六周日。。竟然wa了一次,忘记考虑%7 = 6的情况了,6天的时候是一定要有个周六或者周日的By zjyhala, contest: Codeforces Round #350 (Div. 2), problem: (A) Holidays, Accepted, # #

2016-05-08 23:56:05 1360 1

原创 又一次周赛题解

又一次周赛题解a题http://acm.hust.edu.cn/vjudge/contest/view.action?cid=114608#problem/A 这道题是我提供的,我曾经写过题解,链接如下: http://blog.csdn.net/zjy2015302395/article/details/51232557c题http://acm.hust.edu.cn/vjudge/conte

2016-04-30 17:16:39 403

原创 LightOJ 1071

题目大意:  一个n*m的格子,Baker Vai要从(1,1)到(n,m)再回到(1,1),每到一个格子可以收集格子上的数字(每个格子只能走一次,(1,1)这个格子除外),问最终搜集的数字之和最大为多少?解题思路:  可以把题目转化为求两个对象同时从(1,1)出发到(n,m)途中不能相遇,状态转移的时候可以用dp[step][x][y],step代表当前步数,x,y分别代

2016-04-24 11:19:54 564

原创 小灶第五次作业 dp

题目大意:  一个n*m的格子,Baker Vai要从(1,1)到(n,m)再回到(1,1),每到一个格子可以收集格子上的数字(每个格子只能走一次,(1,1)这个格子除外),问最终搜集的数字之和最大为多少?解题思路:  可以把题目转化为求两个对象同时从(1,1)出发到(n,m)途中不能相遇,状态转移的时候可以用dp[step][x][y],step代表当前步数,x,y分别代

2016-04-23 00:17:35 344

原创 小灶第四次作业:周赛补题

比较失败的一次比赛,第二道题wa了n次之后就被叫走干活。。。一道题手动垫底了。。。。http://acm.hust.edu.cn/vjudge/contest/view.action?cid=112449#problemA:重新定义 Fibonacci  F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).     Print the

2016-04-12 19:56:55 391

原创 poj2823 线段树模板题题解

http://poj.org/problem?id=2823给你一组数字,滚动窗口,每次只能看见几个数字,(每次左边出去一个,右边进来一个)求每次的最大数字和最小数字,做了三遍啊啊啊啊。。。。第一想法比较暴力,判断上一次是不是第一个值是最大的或者最小的,如果是,就重新比较,不是就拿上次的最大值或者最小值和最新加入窗口的值比较。代码如下(超时) 如果是noj应该可以过23333~

2016-03-27 06:17:26 943

原创 poj1511小灶第三次作业(dijstra)

历时三天,终于ac。。。第一次这么晚睡觉呵呵。。。http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109960#problem/F题意:直接翻译:有个出发点,然后有很多个公交站台,从一个站台到另一个站台需要花钱,求从初始点到所有站台,然后再回来 最少需要多少钱浓缩成题意:有n个点,m条边的有向图 ,求从初始

2016-03-25 01:23:07 818 4

原创 小灶第二次作业

第一道bfs : poj3984http://poj.org/problem?id=3984一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。第一个问题是如何记录路径,因为不想用结构体记录,所以想到在重新开一个数组,把每一步的上一部记录下来,这样,反过头来就可以找到了,由于bfs是用队列实现的,第一次

2016-03-17 18:13:37 401

原创 小灶第一次题解

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=66858#problem题意大概是输入不一定多少个单词,不一定多少行,让他们左对齐而且单词之间的距离最小。找出每一列的最大长度。。一道题卡了一天,很水虽然,但是这个点想不到我真的做不了,因为不定量,不定长,所以只能用vector做才比较好,想清楚之后,又想不出来怎么才能找到

2016-03-11 20:44:07 420

原创 HDU2036三角形面积求法

typedef struct point{ int x,y;}point;point a[110];//n的范围限制double area(point p,point q){ return p.x*q.y-q.x*p.y;//叉乘计算面积的公式,简化的,是以(0,0)为起始点划分的}s = area / 2;

2016-02-26 17:08:15 449

原创 结构体的初始化

struct Matrix { int a, b; Matrix(int a=0, int b=0):a(a),b(b) {}} m[26];

2016-02-26 13:35:41 479

原创 c++输出对齐函数 setw()

int a=10; // 也可以是string a string b   字符串对齐的代码和int型其实是一样的,底下都不改,输出的格式也会右对齐,已经尝试过 int b=20; cout.setf(ios::right,ios::adjustfield); cout.fill('0'); cout  cout setw() 属于在cout要求对齐时候比较方便的

2016-02-26 10:28:22 10543

原创 UVA1593 不定量不定长度单词,左对齐

找出每一列的最大长度。。一道题卡了一天,很水虽然,但是这个点想不到我真的做不了,因为不定量,不定长,所以只能用vector做才比较好 while(getline(cin,code))    {        stringstream tran(code);       //创建一个“字符串流”——tran,接下来只需要像读取cin那样读取tran即可!        whi

2016-02-23 09:57:06 396

原创 优先队列重载 3种写法

首先明确队列默认由大到小,由小到大可以为 priority,greater>优先队列的符号是      .....会报错哒;给三种写法:typedef struct node{ int pi; int di; bool operator (const node &b)const { if(pi == b.pi)

2016-02-22 15:37:10 4483

原创 HDU4506之快速幂取模理解

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=107165#problem/B第一次接触快速幂,看了别人的博客,x代表底数,n为指数typedef long long LL;  LL fun(LL x,LL n,)  {      LL res=1;      while(n>0)

2016-02-22 10:47:33 563

原创 HDU1789贪心

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=104126#problem/P刚拿到这个题目的时候,我的第一反应就是按照日期排序,然后按照扣分多的排在前面的顺序,忽略了可能出现的我主动放弃在小的日期能交的,而是选择把截至日期在后面的扣分多切排不开的放到前面来做,然后转变了一下思路:先按照扣分从大到小排序,分数相同

2016-02-21 10:29:54 1933

原创 素数筛

#include #include const int MAXN=1e6+10;int prime[MAXN]={2,3,5};//素数筛void is_prime(){ int i,j; int flag=0; int gcd=2; int k=3; for(i = 7;i MAXN;i += gcd){ flag = 0

2016-02-19 14:52:52 359

原创 字符串左对齐

#include int main(){    char s1[20],s3[20];    char s2[20],s4[20];    scanf("%s%s%s%s",s1,s2,s3,s4);    printf("%-*10s", s1);    printf("%-*10s", s2);    printf("\n");    pri

2016-02-19 14:18:17 2575

原创 A+B十六进制

#include #include #include using namespace std;int main(){    long long A;long long B;    while(scanf("%I64d%I64d",&A,&B)!=EOF)    {         long long C = A+B;         if(C

2016-02-19 09:36:00 1075

原创 HDU2050递归

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=104126#problem/F一道递归的题目,虽然不是很难,但是确实是第一次自己写递归吧,之前的fib除外,背的书上的。希望之后学习dfs写递归时就不害怕了#include long long  a (int n){    if(n == 1) 

2016-02-18 14:21:32 439

原创 猜数字游戏

初次见到题目,觉得很简单,可是仔细敲代码时候却发现根本无法处理如下情况正确序列:1,2,3,4猜测序列:1,1,1,1我选择用字符串保存正确的,然后如果对应上就把它变成字母,下一次就不会算他了,可是如果这样子:正确:1,2,3,4错误:2,3,3,4错误的3算了,正确却没有算,这样显然不符合题意,于是我就卡住了,想不通怎么做,flag也想过,就是无法处理

2016-02-01 10:25:03 405 1

空空如也

空空如也

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

TA关注的人

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