摘要:
#272是自己打的第一场cf,感觉这一套质量挺棒的,不像后两场略水//先附上A,B,C的题解,因为离noip只剩下一点时间了,所以之后不一定还刷cf,暂且就先放上前三题好了A题目大意忘了。懒得看,反正很水。B组合数学: 题目大意:给你两个字符串;s1,s2 其中s2字符串可能含有未知的字符,对于未知... 阅读全文
摘要:
A[傻逼题]大意:给你a,b,c三个数,你可以在其中加上括号,加号,乘号,使得到的值最大就是问你 a+b+c,a*(b+c),(a+b)*c,a*b*c,(a+c)*b 哪个最大!我去...这不是神级傻逼题么...然后我特别认真的想了一下觉得貌似可以偷懒,按从小到大排序一下,比较 a*b*c,(a+... 阅读全文
摘要:
之前写某题单词查找的时候,有用到set,晚上写codeforces#497 div2 D题有用到map感觉set,map的功能挺类似的,在此小结;这里就不具体比较相同点和不同点了,免得看起来乱七八糟的,这里分别细说;set:#include sets;(类型可为int,char,string)功能主... 阅读全文
摘要:
T2:找min:一直找最小的那个,直到a[i]-x+1小于0,就找次小的,以此类推;求max,也是一样的,一直到最大的那个,直到次大的比之前最大的大,就找次大的;这个模拟,可以用上priority_queue;#include #include #include #include #include ... 阅读全文
摘要:
vj1011:记忆化搜索这题就是很简单的记忆化搜索即可,和经典题目滑雪简直一模一样对于记忆化搜索,我也是暑假看了ccy大神的题解才有所领悟的其实也就是DFS+mark主要的部分int search(int x,int y){ if(f[x][y]>0) return f[x][y]; int ans... 阅读全文
摘要:
这题的话思路挺简单的,主要是打一个高精乘,然后考虑一些细节的东西码得挺少时间的,但是调错调了很久...讲一下思路吧:就是读入的时候,先把小数点去掉,mark一下小数点的位置去掉小数点之后也就进行高精乘法即可,去掉前导零之后计算一下小数点的位置再去掉小数点后多余的零以及特判k=1的情况,直接输出答案细... 阅读全文
摘要:
T1只想到了找环,> #include #include #include using namespace std;const int maxn=100005;int n,m,x;long long k;int a[maxn];bool v[maxn];int main(){ scanf("%d%... 阅读全文
摘要:
题目大意: A简单的说就是,有五个人,他们刚开始有B元,经过一系列过程后,给你他们现在分别有的钱,让你求出B(> #include using namespace std;int main() { long long a[3]; cin>>a[0]>>a[1]>>a[2]; lo... 阅读全文
摘要:
续上个unkown,这里mark一下,接下来觉得还有可能考到,且自己不会的东西(或不太会)数学方面: 随机化,概率,简单的几何计算,杂七杂八的数论,组合数学中的差分,康托展开,高斯消元,线性规划树: 最近公共祖先,树上倍增,DFS序列,树链图: 差分约束!强连通分量,欧拉回路字符串: tries树!... 阅读全文
摘要:
之后就按照自己的直觉,整理了第一套,难度为简单,差不多比2013noipday1水一点...先练练手而已T1 vijos1196吃糖果游戏博弈论依题意,我们可知,如果去分数目为2,3,7,8必输,分4,5,6必赢,或是有出现1则必赢以此类推,多写几个我们会发现n mod 5=0,1,4则先手必赢然后... 阅读全文
摘要:
鉴于自己的直觉总是很准,所以这次再相信一次好了T1:我觉得极有可能考到的是 1.对于栈,队列的模拟; 2.数论(不是像gcd那样的题目,而是加法原理乘法原理斥容,或是极具数学推导的东西,当然有可能用于贪心的证明,在T2出现) 3.博弈论 其次还是要多加练习的... 阅读全文
摘要:
早晨打算把历年的试题都过一遍,整理一下大概会往哪个方向考,考什么,不说太多,开始吧2013:Day1:T1 转圈游戏 : 快速幂(关键在于要会打 快速幂) 思路:因为每次都进m位,相当于每次x加上m,即x总共前进了m*10^k; 答案就是(x+m*10^k)mod nT2 火柴排队:离散->转化成求... 阅读全文
摘要:
在这里看到了快速幂算法的有关推导(在此感谢~)理解了这个算法本身之后,发现你忘了快速幂怎么打,对于noip2013 T1你也可以拿到80所以看懂推导很重要(如果忘了,请认真看)这里就mark一下模板好了(链接写的很详细,所以自己的推导就过了)#include #include #include #i... 阅读全文
摘要:
在挑战程序设计竞赛中看到调用pair,就上网查了一下类型申明有两种template struct pairtypedef pairt p;//p为任意的调用起来就是p.first=..p.second=..当然,如果是是用第一种申明方式的话,还要加上pairp;这个可以和queue连用,这样的话,... 阅读全文
摘要:
之前没有怎么刷过dp的题,所以在此学习了~(感谢walala大神的思路,给了我很大的启发)也算是自己学习的另一种dp题型吧先贴上状态转移方程:if(a[i][j])f[i][j]=min(f[i-1][j],min(f[i][j-1],f[i-1][j-1]))+1 然后更新ans即可详细的解释一下... 阅读全文
摘要:
思路详见 王知昆《浅谈用极大化思想解决最大子矩形问题》写得很详细(感谢~....)因为不太会用递推,所以用了第一种方法,时间复杂度是O(n^2),n为枚举的点数,对付这题绰绰有余思路也很简单(建议一定看原文)先根据x排序之后两重循环,枚举i后的每一个点j到i可以形成的矩形面积怎么求这个矩形面积呢?非... 阅读全文
摘要:
vijos1107环游大同80天学习了一下求树的最长链的方法最简单的思路就是两次dfs两次dfs分别有什么用呢?第一次dfs,求出某个任意的点能到达的最远的点第二次dfs,从所搜到的最远的点倒搜回去.为什么需要两次呢?其实很容易想通第一遍dfs的起始点或许并不是最长链的起点从最远的点倒搜到的最长的链... 阅读全文
摘要:
AHOI彩旗飘飘这是一题类似于排列组合的题目吧...递推状态数组f[100][100][100][2];表示红旗数目,黄旗数目,颜色改变的次数,末尾的旗的颜色(0为黄,1为红)之后就是如何写递推式了: for(int k=2;k#includeusing namespace std;int n... 阅读全文
摘要:
T3:搜索很出名的题吧,费解的开关同T2一样也是一题很考思考的附上题解再解释吧:对于每个状态,算法只需要枚举第一行改变哪些灯的状态,只要第一行的状态固定了,接下来的状态改变方法都是唯一的:每一行需要改变状态的位置都在上一行中不亮的灯的正下面,因为只有这样才能使上一行的灯全亮。我们枚举第一行的状态改变... 阅读全文
摘要:
Day4:其中有很多小技巧getT1一直没有听到过像这样的小技巧的略专业名词,有点类似于指针操作,之前有碰到过很多这样的题目每次都是以不同的形式出现,但是感觉思想还是有点接近的吧(就比如某天有一题happy,貌似也是这类型的)这类题目第一眼总是看起来特别的不能写,其实想到了这些技巧之后很简单感觉这也... 阅读全文