- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 CSDN 划分线
---------------------------------------------------------------------------------------------------------------------------------------------------------------请不要问我为什么把划分线置顶。。。。。-------------------...
2018-10-19 23:44:29 191
原创 【NOIP2018模拟赛2018.11.2】
SJR的直线题目大意给你n条直线,每条直线的方程为Aix+Biy+Ci=0,求这些直线相交组成了多少个三角形解法 注意,没有三条直线交于一点 对于所有的平行线,我们考虑他们对答案的影响分别是什么 考虑每次加入一条直线的影响,明显两条平行线和一条其他斜率的线不能满足题意,累加答案时应避开这种情况,于是可以想到加入一条线增加的三角形等于选了这条线并且在前面的i-1条中选两条的方案数 - 前...
2018-11-02 22:52:22 324
原创 【NOIP2018模拟赛2018.11.1】
预处理优化 一看就知道是快速幂,但是很可惜,暴力快速幂很慢,50分。考虑分解b,达到O(1)查询效果 观察到一个重点l <= 1012,即可知道b <= 1012 于是考虑分解b,分成 x*1e6 + y 的形式,预处理出 a的1 ~ 1e6次方, 然后利用算出来的a1e6再预处理出a的1 * 1e6 ~ 1e6 * 1e6次方,这样就可以拆成ax*1e6 * ay,进行O(...
2018-11-01 21:30:16 429
原创 【NOIP2018模拟赛2018.10.31】
#include<bits/stdc++.h>using namespace std;#define ll long long#define gc getchar#define pt putchar#define ko pt(' ')#define ex pt('\n')const int MAXN = 2e5 + 5;int n,maxnow;int a[MAXN...
2018-10-31 23:25:24 250
原创 【NOIP2018模拟赛2018.10.30】
区间DP 明显的序列合并操作,dalao们想到了区间DP 预处理0~7进行题目所示操作(实际上你会发现就是(a + b)/2)结果(O(1)算也可以),f[l][r][k]代表区间为[l,r]时,可以合并出k,转移明显是: if(f[l1][r1][ki] && f[l2][r2][kj]) f[l1][r2][ca[ki][kj] = 1;(ca为预处理) 答案从0枚举...
2018-10-30 22:42:44 236
原创 【NOIP2018模拟赛2018.10.29】
正解 边带权并查集具体思路,跟一般的边带权并查集一样,一边加入并查集,维护每个点到其根的dis,还没加入的边默认正确,在加入的边中进行判断是否合法。 可以知道,若一次询问两个士兵 (设为l,r) 在一个集合中,为了满足前面的要求,又要满足这次的要求,必须 dis[l] + d == dis[r] ,dis[l]代表l点到根的距离,dis[r]代表r到根的距离,若不满足则一定不合法。 如果两...
2018-10-29 23:06:16 223
原创 【NOIP2018模拟赛2018.10.27】
小猫爬山【题目描述】:Freda和rainbow饲养了N只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<)。Freda和rainbow只好花钱让它们坐索道下山。索道上的缆车最大承重量为W,而N只小猫的重量分别是C1、C2……CN。当然,每辆缆车上的小猫的重量之和不能超过W。每租用一辆缆车,Freda和rain...
2018-10-28 14:59:22 295
原创 【NOIP2018模拟赛2018.10.26】
第一题数论,证不出来,,,spfa统计到每个点最短路数量,乘起来就是答案。统计方法:更新最短路就把此点最短路数量重新赋为1,遇到相等dis[x] + w == dis[to]的情况则数量++。代码:#include<bits/stdc++.h>using namespace std;#define ll long long#define pt putchar...
2018-10-26 22:50:13 311
原创 【NOIP2018模拟赛2018.10.25 B组】
此题爆零。原因不知道可以因费马小定理推出 b' = b MOD p。可以看出,f(u,p) = v 在这道题里面意思就是 v = u MOD p,由于p是一个质数,那么可以知道所有的a[i]等价于a[i] % p,所有的b[i]等价于b[i] % (p-1)懒得讲部分分 正解如下:1、首先我们可以看出处理过后所有的a,b满足 0 <= a <= p-1,0 <= ...
2018-10-25 22:59:59 350
原创 【NOIP2018模拟赛2018.10.24 B组】
此题直接暴力枚举 1~1e6 + 1000 左右预处理一个好数数组,然后二分找到询问n位置,往后找m个就行了。。被行末空格恶心到,,代码变丑了好多。。#include<bits/stdc++.h>using namespace std;#define ll long long#define pt putchar#define ex pt('\n')#define...
2018-10-24 23:26:29 284
原创 【NOIP2018模拟赛2018.10.23】字符串
字符串(string)【题目描述】 定义两个字符串A,B相似当且仅当满足以下两个条件中的至少一个: (1)A和B相同; (2)将A分为长度相同的两个子串A0,A1,将B分为长度相同的两个子串B0,B1,满足A0相似于B0,A1相似于B1或A0相似于B1,A1相似于B0。 给定两个字符串S,T,问它们是否相似。 有多组数据。【输入数据】 第一行一个整数t表示数据组数。 每组数据第一行一个字符...
2018-10-23 17:16:15 454
原创 【NOIP2018模拟赛2018.10.22】pets
与cards同天考的题,反正很恶心人。。首先分组,我将一队放进a,二队放进b,然后队伍中n^2建边,若 i 打得过 j 就连一条有向边,将 j 的入度+1,然后topo序判环。可以看出如果有环就说明一个队中存在 a 打得过 b,b 打得过 c, c 又打得过 a 的情况,这种情况出现是不可能保证后面的pets都能打得过前面的pets的,故不合法,输出NO。若没有环,这时候我们得...
2018-10-22 21:28:20 214
原创 【NOIP2018模拟赛2018.10.22】cards
这道题十分阴险啊。。一般来说看到这道题都会选择打一个最长上升子序列的模板吧(比较时就比较三个参数)。。。。但你可以看到,5,6,7,8四个点m达到了1e6的规模,那么n^2的复杂的肯定是过不了的。又可以惊奇的发现,1~8个点的z都为0!于是经过仔(can)细(kao)思(ti)考(jie)后,1~8个点发现咱可以用树状数组维护DP转移,使其复杂度降到O(nlogn)。...
2018-10-22 21:10:13 321
原创 【联考第一场2018.10.20】
前言今天虽然题目难度不大,但是我打爆了。虽然一开始都想到正解,但后来都没打出来,不敢浪,就先打了个暴力,就第一题直接打的正解。但是翻车了。。。第一题只有5分,原因是期望算的最大概率,cmp排序用的int排double,,,orzorz---------------------------------------------------------------------------...
2018-10-21 10:57:10 175
原创 10.19 noip 模拟题 【NOIP2018模拟赛2018.10.19】
今天也才改出来一道题orz,大坑最近要填,,,今天题目难度适中,暴力都打出来了,但是第二题“spfa死了”。于是今天就改出来了第一题和去练了下dijkstra+堆优化。。。于是时间不够用orz。。------------------------------------------------------------------------------------------------...
2018-10-19 23:42:23 513
原创 noip2018 10.18 day2
轻功Description题目背景: 尊者神高达进入了基三的世界,作为一个 mmorpg 做任务是必不可少的,然而跑地图却令人十分不爽。好在基三可以使用轻功,但是尊者神高达有些手残,他决定用梅花桩练习轻功。 题目描述: 一共有 n 个木桩,要求从起点(0)开始,经过所有梅花桩,恰好到达终点...
2018-10-18 21:40:50 426
原创 noip模拟 2018 10 17
刺客信条(AC)Description 故事发生在1486 年的意大利,Ezio 原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客。最终,凭借着他的努力和出众的天赋,成为了杰出的刺客大师。刺客组织在他的带领下,为被剥削的平民声张正义,赶跑了原本统治意大利的圣殿骑士首领-教皇亚历山大六世。在他的一生中,经历了无数次惊心动魄、扣人心弦的探险和刺杀。 这...
2018-10-17 21:54:33 232
原创 data track capacitor 10.3模拟题 题解总结
今天题目挺难的,第二题有坑,题目中输入n,m,根所属的节点后,还有个E (= n-m)的输入,导致全场第二题爆零。就得了第一题100分,第三题暴力深搜都错了。。。我实在太弱了。。----------------------------------------------------------------------------------------------------------...
2018-10-03 19:02:01 166
原创 noip2017 Day1
第一题数学公式推导,反正推完后就是(a*b)-a+b,没什么好说的,送分。第二题懒得放题目,总而言之就是一道大模拟,判断循环,还挺麻烦的。。,但只要仔细都能打对。主要是在每个循环判断能不能进,如果不能进就得停止累加时间复杂度,后面的E结束要对应前面的F,我是用了一个stack+结构体来判断这次能不能进循环,会不会停止,和更新答案了否(就是cifang有没有比之前+1),然后后面E结束循环时...
2018-09-22 17:24:24 311
原创 noip2013 day2
一道纯模拟就可以过(水水水)。考试时本蒟蒻甚至写了个线段树,然后发现其实不如直接模拟。模拟思路:从1到n枚举每个最长的不为0的序列,每次每个数减去其中剩余的最小值,答案加上这个最小值,如此反复到每个值都减为0。蒟蒻代码:#include<bits/stdc++.h>using namespace std;#define ll long long#d...
2018-07-25 22:09:03 573
原创 noip2013 day1
1.转圈游戏(circle.cpp/c/pas)【问题描述】n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏。按照顺时针方向给 n 个位置编号,从0 到 n-1。最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推。游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,……,依此类推,...
2018-07-24 15:48:43 323
原创 noip2012 day2
扩展欧几里得模板题。注意取模。#include<bits/stdc++.h>using namespace std;#define ll long long#define in(x) scanf("%d",&x) #define lin(x) scanf("%lld",&x)#define out(x) printf("%d",x)#defin...
2018-07-16 19:45:51 264 1
原创 noip2012 day1
简单模拟。规律的话就是密匙中A代表加0,B代表加1,以此类推。于是先把密匙大小写同一,然后与A减,得到的再用密文减即可。需要注意的一点就是密文大小写一开始就定下来了,如果减过了‘a’或者‘A’的话,依照表的规律的话要改成‘Z’或‘z’减掉溢出。#include<bits/stdc++.h>using namespace std;#define RG register...
2018-07-16 19:39:36 302
原创 noip2011 day2
二项式定理推出系数等于a^n * b^m * C(n,k)快速幂+组合数(逆元做除法)结束。具体看代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<vector>#inc...
2018-07-14 08:13:09 172
原创 noip2011 day1
简单模拟,蜜汁WA。因为错了还是写一下思路: 先保存,然后倒着(n到1)枚举覆盖目标点的毯子,找到即是答案。#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<cctype>...
2018-07-13 19:55:01 320
原创 6.23模拟题解
A. 【NOIP2018 模拟】密码假发通过了不懈的努力,得到了将军家门锁的密码(一串小写英文字母)。但是假发被十四和猩猩他们盯上了,所以假发需要把密码传递出去。因为假发不想十四他们发现几松门前贴的小纸条就是将军家的密码,所以他加密了密码(新八:听起来有点诡异)。加密方法如下:随机地,在密码中任意位置插入随机长度的小写字符串。 不过,假发相信银桑和他那么多年小...
2018-06-24 10:20:04 441
原创 noip2010提高组
最近几次始终考的不怎么好,思路比较死。---------------------------------------------------------------------------------------------------------------------------------- 一道简单的模拟,不多说,用stl很简单直观代码:#include<cstdio&...
2018-06-18 10:40:26 2167
原创 并查集 自学总结
一、何时使用 题目中有元素合并的意义时。二、做法理解 1、三个动作:“并”(unite),“查”(judge),“集”(find)。 2、理解:相当于很多个指向一个节点的集合。三、代码实现(框架)#include<bits/stdc++.h>using namespace std;class UFS{ vector<int> parent; pub...
2018-06-16 17:20:53 127
原创 noip 2006 提高组
环状处理+区间dp得解,注意答案需要枚举判断出以哪一颗珠子开始最大。状态转移方程为:dp[j][i] = max(E[j]*E[k+1]*E[i+1]+dp[j][k]+dp[k+1][i],dp[j][i])j是开始的一颗珠子,i是结束的一颗珠子。相当于用k截开每两颗珠子计算最大区间值。#include<bits/stdc++.h>using namespace std;#def...
2018-05-27 21:42:15 884
转载 模板总结
数学知识 数论:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100...
2018-05-26 15:48:29 191
原创 4月7日 测试题
第二天的测试。觉得还是有点进步。再接再厉。代码风格开始转变,用了很多简写。主要是懒简单模拟,不想多说什么。一开始想到用Map[maxn][maxn]来打标记的做法,但是n范围达1e5所以会炸,然后就想到用变量表示行列,每次遇到坐标就减1就好了。#include<iostream>#include<cstdio>#include<cstdlib>#inclu...
2018-04-07 21:38:46 178
原创 4月6日 题解
这道题可以说是一道阅读理解题,考语文。题意就给你俩字符串,一密码一原文,让你判断是否翻得合理。但是这道题判断是否合理其实就是判断一个原文和密码中出现次数相同的字母个数是否相同。因为其实题中所说的替换和顺序变换两种处理方式使得原文变化成密码只需要原文和密码中出现次数相同的字母个数相同就行了。照此原理:#include<iostream>#include<cstdio>#inc...
2018-04-06 20:37:16 217
原创 3月27日 题解
基本思路就模拟整个过程,每次进行两两比较,赢得一分,输了的就不管。sort其实就是快速排序,而快速排序其实就是二分的思想。稳定的话O(nlogn)左右。但是仔细想想此题——每次需要更新的值,都是相邻两个人变化后的分数;而相邻的分数,有些是不会改变位置的,而快速排序则是每次全部修改,必然会造成浪费。虽然很慢但是可能这种暴力也应该会打那我就放在这://#include<bits/stdc++.h...
2018-03-29 17:35:58 206
原创 3月24日 模拟赛题解
此题我用stack做出了负数,至今不知道为什么,代码如下,麻烦知道的各位大神能告知小的一声://#include<bits/stdc++.h>#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>#include<string>#...
2018-03-25 22:59:55 314
原创 近几次大学先修练习总结
做了几次大学先修的题之后,感觉虽然大多比较简单,但还是有一两道题需要想一想才做得起的。总体来说难度不高,但是做的时候还是很花时间,但我想应该是我是达到了平均速度的。比如说一道模拟“流感传染”思路好想,打的时候比较难打,但是幸运的是我打好就过了,没经过一些恶心的调试过程。第一次做的那道“多边形游戏”,实际上就是一个枚举,但是环形的枚举方式以前是没见过的,思路没能开阔起来,便退缩了,认为做不了,但实际...
2018-03-18 10:22:39 236
原创 3月15日 大学先修
2014Q1:细菌的战争查看提交统计提问总时间限制: 1000ms内存限制: 65536kB描述有两种细菌,一种是有害菌,繁殖能力很强,每小时会繁殖一倍;另一种是有益菌,繁殖能力较弱,每小时能繁殖百分之五。但在单位体积内,当有害菌数量超过一 百万时,多出的细菌会因为密度太大而迅速死亡,直到细菌数量下降到一百万。已知每个有益菌每小时能消灭一个有害菌。给定单位体积内有害菌和有益菌的初始数 量,请问多少...
2018-03-15 21:40:20 370
原创 三月十三日 大学先修课考试
A:吃糖果总时间限制: 1000ms内存限制: 65536kB描述名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以...
2018-03-13 17:00:54 428 1
原创 3月10日 模拟题
prime.cpp这第一道题特简单。。。。。一个俩质数相乘的数只有1,那俩质数(可能有1),和他本身那几个约数,那我找到小的那个质数,用大数除以它则是答案了。//#include<bits/stdc++.h>#include<iostream>#include<cstdio>#include<cstdlib>#include<algor...
2018-03-10 15:56:25 248
原创 落地成盒
3 落地成盒 pdd.cpp / pdd.in / pdd.out 3.1 题目描述 众而周知,落地成盒是件很痛苦的事情,然而对于萌萌哒选手 pdd(不是 PDD)来说,只要有一种特 殊的技巧,就能避免落地成盒。 这个技巧便是:不停地往前跑,永远不要回头,永远不要往低处走。尴尬的是,当不能再往高处前进 时,pdd 还是不能避免成盒的命运。pdd 希望知道,自己最多能跑到多少地方。 整个地图可以抽象...
2018-03-04 16:24:23 466
原创 2018.3.4 sline
4.最短路线(sline.pas/c/cpp) 题目描述 某城市的街道是一个很规整的矩形网格(见下图),有 M 条南北向的纵街,N 条东 西向的横街。现要从西南角的 A 走到东北角的 B,最短的走法共有多少种? 输入 输入文件 Sline.in,一行,两个数 M,N,其中 2<M,N<=800; 输出 输出文件 sline.out,输出最短路的走法总数. 样例输入 7 5...
2018-03-04 14:30:12 620
最短路径点连线版
2018-02-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人