自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大深坑

一些错误有大的 也有小的恩2017年10月25日      一道水题 NOIP T1难度      不幸WA了10个点      原因 在运算时没有进行特判 超出所需要的运算次数2017年10月24日      一道水题 NOIP T1难度      不幸WA了1个点      原因 特殊情况的特判 要多考虑几种情况 避免失误2017年10月22

2017-10-25 10:37:44 356

原创 10.26 dp练习

采药dp中的01背包 最经典的问题了吧 problem 1048#include <iostream>#include <cmath>#include <cstdio>using namespace std;int f[1100][1100];int w[1100],v[1100];int main(){ int n,m; cin>>m>>n; for(int

2017-10-26 17:26:33 378

原创

订餐题意有几道菜可以选择着吃 对于吃的第i道菜 美味程度为a[i]*i 求连续吃k道菜的最大的美味值 处理前缀和 注意爆int#include <iostream>#include <cstdio>using namespace std;long long a[200001],s[200001];int main(){ freopen("dish.in","r",stdin);

2017-10-23 14:42:21 299

原创 浴谷八连测 Round#1 T1

n!在k进制下0的个数40分不用说了吧。。暴力+10进制的特判#include <iostream>using namespace std;int num[100];int main(){ int n,k; cin>>n>>k; if(k==10) { int ans=0,flag[6]={0,0,0,0,0,0}; for(i

2017-10-15 17:08:55 273

原创 欧拉函数

欧拉函数φ(n)φ(n) 正常做法直接求#include<iostream>#include<cstdio>#define ll long longusing namespace std;ll n,ans;int main(){ cin>>n;ans=n; for(ll i=2;i*i<=n;i++) { { while(

2017-10-08 10:31:03 189

原创 逆欧拉函数

难 φ(x)=x∏i=1n(1−1pi)φ(x)=x\prod_{i=1}^n(1-\frac{1}{p_i}) 逆推可得出x的关系式 x=φ(x)∗p1p1−1∗p2p2−1∗...∗pnpn−1x=φ(x)*\frac{p_1}{p_1-1}*\frac{p_2}{p_2-1}*...*\frac{p_n}{p_n-1} 然后 dfs//copy#include <cstdio>#i

2017-10-08 09:59:24 545

原创 chocolate

题意大概就是一根长度为n的巧克力,要分成全部为1的巧克力,问最多可能有多少次分出来的是相等的两段巧克力 不会,部分分 正解 找规律,可以发现ans=n-c(n),(c(n)为n的二进制数中1的个数)#include <cmath>#include <cstdio>#include <cstdlib>#include <iostream>#include <algorithm>using

2017-10-07 17:22:27 223

原创 选数字

好难啊…… 一个矩阵,可以每一行或者每一列减去p,求k次操作后的最高RP值如果不会正解的话,最少是可以得到第三、四个点的分的,第一二个点可以随便的复杂度A掉正解?枚举取的行数 如果取了x行的话,那么一定取了k-x列(废话) 然后再操作的过程中,每一行或每一列都减P的话,对这一行或这一列的最值是没有影响的,所以可以过程中暂时不考虑减P造成的影响(最后要考虑) 因为我们是单独选的,没有考虑 行对

2017-10-07 16:34:04 314

原创 大数阶乘取模

水了90分。。。 如果不会正解的话,直接暴力拿分,无脑暴力可以拿到90分 正解分块打表暴力就是直接求阶乘然后取模。。。 加一个比较有用的特判:如果n>=p,那么n的阶乘的因子中一定有p,n的阶乘膜p一定等于0#include <iostream>#include <cstdio>using namespace std;long long n,p;int js(int n){ l

2017-10-07 10:22:18 7751

原创 蜜汁最大完全平方数

以前有过类似的思路,就是奇数次方就减一,偶数次方就不管,然后最后快速幂统计一遍 这个题思路想出来就很简单,想不出来就完蛋 遇见了很多坑,先是long long ,没开long long结果得了5分。。。 然后是有一句应该是k=k>>1,结果写成了k>>1,结果k到了这里一直不变。。懵逼地调了好长时间。#include <iostream>#include <cstdio> using na

2017-10-06 16:50:59 257

原创 TB 16 10 29 PM

T180分 最后两个点变态,没有初始序列,然后就不知道怎么输入了。。 前面点不算难,只不过原始序列中有三个同色球在一起的,比较坑,然后就算是模拟了, string里面有一些奇怪的函数,非常有用。。str.erase(pos,n); 删除从pos开始的n个字符str.insert(pos,s); 插入注意在消掉三个球之后看一下是否还可以继续消除#include<iostream>#includ

2017-10-06 15:54:44 151

原创 TB 16 10 29 AM

T1两个时间,,求时间差,变态的是要求毫秒,所以会爆int,要乘1ll 有闰年什么的,还有什么“一三五七八十腊,三十一天永不差”…… 捣鼓了两个小时,最后80分,还是不会搞闰年……#include <iostream>#include <cstdio>using namespace std;unsigned long long ans=0;short mon[13]={0,31,28,3

2017-10-06 11:34:45 163

原创 天天和不可描述

不算难吧看到题就打算一步一步往前走,第一个左括号之前的全部输出,然后第二个左括号之前的反着输出,以此类推……但是这种思路很SB,完美的A掉没有括号嵌套的点,但是有嵌套的就会WA。。。重整思路?emmm 数着点左括号,记录每个左括号的位置,可以开一个栈来实现 然后读到右括号就开始把到前面的左括号之间的字符翻转。。。 然后?然后删除这个左括号继续进行上面的操作#include<iostream>

2017-10-05 15:36:13 254

原创 组合数

好简单啊…… 就是分解质因数 只需要分解2 和 5 因为只有2*5是等于10的 然后分子分母约掉 看最后对2和5的数量取min#include<iostream>#include<algorithm>#include<cstring>using namespace std;int t,n,m;long long sum[4],ans;long long p;void work

2017-10-05 15:22:52 196

原创 回型遍历

令f(n)为斐波那契数列第n项 求斐波那契数列的第f(n)项 【数据规模与约定】 对于70%的数据,1 ≤ n ≤ 10^5 。 对于100%的数据,1 ≤ T ≤ 10^3 ,1 ≤ n ≤ 10^100 样例输入 4 0 1 2 6 样例输出 0 1 1 21#include<cstdio>#include<cmath>#include<cstring>#i

2017-10-05 15:15:40 318

原创 【清北学堂】dwarf

本来写的60分的代码,结果得了75分 就是dfs深搜,SPFA都忘了,也没看出来 深搜看看是买这个物品还是换这个物品,比较一下价格 很简单不说了#include<iostream>#include<cstdio>#include<cstring> using namespace std;int n,m,p;struct H{ int v,a,b;}thing[100007]

2017-08-22 11:09:35 481

原创 【清北学堂】number

二分答案,先排一下序,再扫,同时搞一个指针倒着扫,计算比当前数小的数的个数,判断 蜜汁WA#include <iostream>#include <cstdio>#include <algorithm>using namespace std;long long k;int n,m;int num1[200001],num2[200001];int check(long long t)

2017-08-22 11:06:27 234

原创 度度熊与邪恶大魔王

dp… 因为防御力的范围很小,最大才是10,所以就可以枚举防御力,从1到10,然后如果防御大于等于造成的伤害的话就直接continue…如果防御小于伤害的话就砍,然后如果用这一个技能就把它砍死了,那么这就是使用晶石最少的技能,否则就通过前面的dp值推出当前的dp值(dp[i][j]=dp[i-mul][j]+con[k];) dp[i][j]表示防御力为j,打出i点伤害所需要的最少的晶石#inc

2017-08-18 15:12:33 176

原创 【百度之星】Chess

太简单不说 组合数 杨辉三角可以过 代码找不到了… 不贴了… 那场比赛就A了这一道题… - -完- -

2017-08-18 10:54:56 203

原创 UER #2 手机的生产

挣扎了好久终于A了 大佬说这是一个模拟题,然后果断发现看不懂。。。 大佬给我们讲(fa)了(le)一(ti)下(jie),大概就是把这个表达式用 | 分开,分成每份只有 & ,然后对于只有”&&”的情况,k个fork()的表达式会有k种方案返回0,1种方案返回1(找规律)。最后从左到右计算i到tot的方案数(这应该是dp啊)#include <bits/stdc++.h>#define MOD

2017-08-18 10:41:58 378

原创 蛋疼度度熊

百度之星初赛B赛T6 先把这些线段以左端点升序排列,然后把重叠的,重合的,还有一些什么特殊的情况都处理出来,把连续的几段处理成一段(dalao说可以不处理) 然后开一个队列,从前往后压入队列,如果出现了断开的部分,就用m比较,如果小于m,就把m减去这一段的长度,然后压入队列,如果大于m,就弹出队首元素,增加m,直到这一段的长度小于m进行更新,在这期间,要不断的进行更新ans的值, 要注意的是一

2017-08-17 16:56:17 3114

原创 【倍增】 luogu 1613 跑路

懒得贴题自己去看 一道倍增模板题,可以练习代码熟练度 开一个数组f[i][j][k]表示从i到j用2k2^k能否到达,然后枚举中间点,如果i到mid可以用2k−12^{k-1}步到达,mid到j可以用2k−12^{k-1}步到达,那么从i到j就可以用2k2^k步到达,代码如下 for(int mid=1;mid<=50;mid++) for(int i=1;i<=50;i+

2017-08-16 20:03:26 195

原创 【模板】 字符串哈希

哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。纯裸的模板题 因为要使字符串的哈希值各不相同,所以要取一些奇奇怪怪的质数进行MOD,比如19260817(逃) 常见的质数 1e9+7

2017-08-16 14:41:33 3634

原创 Tyvj 小Y的问题

【问题描述】 有个孩子叫小 Y,一天,小 Y 拿到了一个包含 n 个点和 n-1 条边的无向连通图,图中的 点用 1~n 的整数编号。小 Y 突发奇想,想要数出图中有多少个“Y 字形”。 一个“Y 字形”由 5 个不同的顶点 A、B、C、D、E 以及它们之间的 4 条边组成,其中 AB、 BC、BD、DE 之间有边相连。 同时,无向图中的每条边都是有一定长度的。一个“Y

2017-08-16 10:57:30 404

原创 Tyvj 铺瓷砖

【问题描述】 有一面很长很长的墙。你需要在这面墙上贴上两行瓷砖。你的手头有两种不同尺寸的瓷 砖,你希望用这两种瓷砖各贴一行。瓷砖的长可以用分数表示,贴在第一行的每块瓷砖长度 为 A/B ,贴在第二行的每块瓷砖长度为C/D. 两排瓷砖从同一起始位置开始向右排列,两排瓷砖的第一块的左端的缝隙是对齐的。你想要知道,最短铺多少距离后,两排瓷砖的缝隙会再一次对齐。 【输入】

2017-08-16 10:37:45 424

原创 Good News And Bad News

扔链接跑 处理出来i之前的最大的dis,i之后的最大的dis,然后 if((min_aft[i]-dis[i-1]>=0)&&(min_dis[i-1]+dis[n]-dis[i-1]>=0))#include <iostream>#include <cstdio> using namespace std;long long dis[1000010],a[1000010],min_dis[1

2017-08-11 11:22:29 837

原创 匹配字符串

题意大概是这样的:有两个串吧,子串可以存在 ‘?’, ‘?’可以和任意字符匹配,然后还有一个母串,判断母串是否包含子串,也就是子串是否包含于母串 例如 子串:aa?bbcc 母串:aabbbcc 这就是符合要求的串思路大概是这样的这就是kmp啊,只是匹配的时候多了一个条件(当出现 ‘?’时直接跳过此位) 就是那层if里面加一个s[t2]=='?'代码大概是这样的#include <cstdi

2017-07-25 15:11:35 171

原创 lowbit

树状数组(lowbit) Time Limit:1000ms Memory Limit:128MB 题目描述 这天,LYK在学习树状数组。 当它遇到一个叫lowbit的函数时有点懵逼。lowbit(x)的意思是将x分解成二进制,它的值就是,其中k是最小的满足(x & )>0的数。(&是二进制中的and运算) LYK甚至知道lowbit(x

2017-07-23 14:51:54 241 1

原创 开更

好久未更,今日开更

2017-07-23 08:02:14 151

原创 最小网络最大流

题目描述如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用。输入输出格式输入格式:第一行包含四个正整数N、M、S、T,分别表示点的个数、有向边的个数、源点序号、汇点序号。接下来M行每行包含四个正整数ui、vi、wi、fi,表示第i条有向边从ui出发,到达vi,边权为wi(即该边最大流量为

2017-05-03 15:27:09 579

原创 bzoj1066 蜥蜴

1066: [SCOI2007]蜥蜴Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3916  Solved: 1965[Submit][Status][Discuss]Description  在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。 每行每列中相邻石柱的距离

2017-04-28 16:55:13 246

原创 【USACO】杂务

(翻译来自洛谷) 题目描述 John的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。比如:他们要将奶牛集合起来,将他们赶进牛棚,为奶牛清洗乳房以及一些其它工作。尽早将所有杂务完成是必要的,因为这样才有更多时间挤出更多的牛奶。当然,有些杂务必须在另一些杂务完成的情况下才能进行。比如:只有将奶牛赶进牛棚才能开始为它清洗乳房,还有在未给奶牛清洗乳房之前不能挤奶。我们

2017-04-08 17:34:29 386

原创 【模板】 莫队算法

莫队算法??这个算法是由之前的国家队队长莫涛巨神(Orz….%%%)发明的,所以尊称莫队算法。莫队是啥??如果我们知道区间[L,R],就能在O(1)求出[L−1,R],[L+1,R],[L,R−1],[L,R+1]的话,那就可以用莫队算法了。莫队咋搞?? 1):排序,以左段点所在的块为第一关键字,以右端点为第二关键字 2):从左往右处理询问(离线) 3):不断调整l,r的位置

2017-03-31 15:44:50 1537 1

原创 【Luogu】 P1726 上白泽慧音

这个题目名……感觉……很…… 很裸的一个tarjan吧…… 不说了,上代码(代码是谁)#include <bits/stdc++.h>using namespace std;vector <int> que[51000];int tim,ans,stc[51000],ps,out[51000],flag,dfn[51000],low[51000],clr[51000],ins[51000]

2017-03-10 15:29:43 496

原创 【模板题】 公路修建 ( Prim )

Build the road 题目描述 某国有n个城市,它们互相之间没有公路相通,因此交通十分不便。为解决这一“行路难”的问题,政府决定修建公路。修建公路的任务由各城市共同完成。 修建工程分若干轮完成。在每一轮中,每个城市选择一个与它最近的城市,申请修建通往该城市的公路。政府负责审批这些申请以决定是否同意修建。 政府审批的规则如下: (1)如果两个或以上城

2017-03-05 10:02:46 570

原创 【模板】 欧拉路 欧拉回路

啥是欧拉路(欧拉回路)?? 如果给定无孤立结点图G,若存在一条路,经过图中每边一次且仅一次,这条路称为欧拉路; 如果给定无孤立结点图G,若存在一条回路,经过图中每边一次且仅一次,那么该回路称为欧拉回路。 存在欧拉回路的图,称为欧拉图。欧拉路(欧拉回路)有啥用??一笔画问题 即寻找欧拉路或欧拉回路 裸的模板题 骑马修栅栏,很裸很裸很裸欧拉路(欧拉回路)怎么写??如果寻找欧拉回路,

2017-03-03 17:25:13 1771

原创 【Luogu】 食物链

→→→ 题目 ←←←我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加continue; 我忘了加conti

2017-02-26 10:10:00 260

原创 【常用模板】 线段树区间操作

线段树 非常简单的线段树区间操作,比单点操作难那么一点点(一点点?)但是……似乎……并没有这么简单,这么多的子程序,检查比写都难,可我一直把想要求的区间左右端点和当前端点混着用,就一直不过,很尴尬#include#include using namespace std;int a[110000];struct tree{ long long l,r,sum,addi,len;}

2016-12-30 21:19:06 210

原创 【常用模板】 线段树单点操作

输入 第一行两个整数n,m,第二行n个整数表示初始时的数组A[ ]; 接下来m行,每行3个整数a,b,c,如果a=1,那么输出A[b]~A[c]中最大的数 若a=2,那么将A[b]改为c 输出 每行输出一个整数,对应每一个操作a=1超级简单的线段树模板题,一遍就过了,子程序太多,变量更多,容易搞混很尴尬,就在几周前的noip中,有一个dalao给我们得瑟说他会线段树,

2016-12-23 16:29:57 276

原创 【luogu】 P1880 石子合并

原题原题原题原题原题 先贴上错误代码。。。 ↓错误代码↓#include <iostream>#include <cstdio>#include <cstring> using namespace std;int f[1100][1100],f2[1100][1100],st[1100],a[1100];int main(){ memset(f,127,sizeof(f));

2016-12-21 15:04:26 258

空空如也

空空如也

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

TA关注的人

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