- 博客(164)
- 资源 (1)
- 收藏
- 关注
原创 PBR渲染学习笔记一 着色器基础
#include <glad/glad.h>#include <GLFW/glfw3.h>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <glm/gtc/type_ptr.hpp>#include <iostream>#include "shader.h"const char *vertexShaderSource = ".
2021-06-03 11:02:55
363
1
原创 #P1169ZJOI2007#棋盘制作(二维单调栈+DP+XOR思路)
题目描述国际象棋是世界上最古老的博弈游戏之一,和中国的围棋、象棋以及日本的将棋同享盛名。据说国际象棋起源于易经的思想,棋盘是一个8×8大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳。而我们的主人公小Q,正是国际象棋的狂热爱好者。作为一个顶尖高手,他已不满足于普通的棋盘与规则,于是他跟他的好朋友小W决定将棋盘扩大以适应他们的新规则。小Q找到了一张由N×M个正方形的格子组成的矩形纸片...
2020-02-09 11:52:25
449
1
原创 NOIP2018(退役队员再战信念:永远年轻,永远热泪盈眶)
(现在拿到录取通知书才看到博客里这篇草稿,当年高三竞赛再战拿到省一后已无法继续,一时百感交集便写下此文,但碍于高三太忙一直没有完成,如今看到却是感慨万千,姑且续笔写完,发布出来权当纪念,又或许能给后来的oier提供些什么)退役一年的时间,最初真的颓废。高二上无所事事,同学们都在备战各科竞赛,很有激情,而自己却仿佛永远离开了那个热血沸腾的小集体,身边只剩下冷清,永远成为了照片中的笑得肆意的记...
2019-07-31 20:34:32
362
原创 NOIP2017的流水账
周五那天下午到的巴蜀,试机,键盘感觉不太爽,我看见低年级的小朋友下课。走楼梯上去,提着电脑包,挺累,发现今年女生特多,没什么感觉。试机的时候打了树剖,最近树剖练得多,挺顺手,希望能考点会的数据结构题。坐了一会儿,当时在出神,然后感觉有人坐到我旁边来拍我的肩,转头一看,是老朋友了。一个三中的家伙,他高中开始学信息,还是听了我在学才来的。上午约了下午见,果然他就来找我了,聊了一会儿今年的比赛,当然
2017-11-13 17:40:55
471
原创 #数学期望题目#
BZOJ43184318: OSU!Time Limit: 2 Sec Memory Limit: 128 MBDescriptionosu 是一款群众喜闻乐见的休闲软件。 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串。在这个串中连续的 X个1可以贡献X^
2017-11-07 21:45:44
995
原创 NOIP2017巴蜀模拟总结
DAY1t1很水,可以O(N)做,也可以O(NlogN)upper_bound()。t2题意理解得不清楚,思路还是很简单,先强联通分量缩点,每个强联通分量就要用这么多次轰炸。要求一个最长的叶结点走到走不动的步数。t3出题人拼题,一个最小生成树和一个nim博弈并在一起。注意每次的重建树,树剖和线段树放在一起的时间最快。DAY2t1打素数表,筛法顺便筛出所有由两个素数乘起来
2017-11-05 18:52:32
309
原创 #BZOJ3700#发展城市(O(1)LCA+分析讨论)
3700: 发展城市Time Limit: 20 Sec Memory Limit: 512 MBDescription 众所周知,Hzwer学长是一名高富帅,他打算投入巨资发展一些小城市。 Hzwer打算在城市中开N个宾馆,由于Hzwer非常壕,所以宾馆必须建在空中,但是这样就必须建立宾馆之间的连接通道。机智的Hzwer在宾馆中修建了N-1条隧道,也就是说,宾馆和隧道形成了
2017-11-02 22:26:30
673
原创 #BZOJ2054#疯狂的馒头(并查集经典)
2054: 疯狂的馒头Time Limit: 10 Sec Memory Limit: 162 MBDescriptionInput第一行四个正整数N,M,p,qOutput一共输出N行,第i行表示第i个馒头的最终颜色(如果最终颜色是白色就输出0)。Sample Input4 3 2 4Sample Output2
2017-11-02 18:37:55
491
原创 #HYSBZ3626[LNOI2014]#LCA(经典模型:树剖+线段树维护和)
3626: [LNOI2014]LCATime Limit: 10 Sec Memory Limit: 128 MBDescription给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。有q次询问,每次询问给出l r z,求sigma_{l(即,
2017-11-01 22:31:22
313
转载 Miller_Rabin素数测试[Fermat小定理][二次探测定理][同余式][Wilson定理]
部分引用自:http://blog.youkuaiyun.com/fisher_jiang/article/details/986654很大部分引用自:http://www.matrix67.com/blog/archives/234从零开始~同余式同余式的定义如果两个正整数a和b之差能被n整除,我们就说a和b对模n同
2017-10-26 17:53:12
463
原创 #NOIP模拟赛bzoj3449#大佬(期望好题)
其实我根本就不懂得期望是什么,准确地说应该是不太熟悉,但是现在大致也知道是怎么算的了。说说这道题,出题人的正解很成功被我们某些大佬给卡掉了,原因是还有更好的解法,可以把时间复杂度降得更低,现在来看真正的正解。假设现在我们有一种完整的N道题难度的排列,设现在这种排列为i,然后有w[i][j]来表示这种排列下,第j - k + 1天到第j天的劳累值。对于方案i,完成总书的劳
2017-10-24 22:01:59
309
原创 #UVALive3523#Knights of the Round Table(点双连通分量 + 二分图染色判奇环)
题意:•有n个骑士经常举行圆桌会议,商讨大事。每次圆桌会议至少应有3个骑士参加,且相互憎恨的骑士不能坐在圆桌旁的相邻位置。如果发生意见分歧,则需要举手表决,因此参加会议的骑士数目必须是奇数。现在知道哪些骑士相互憎恨,你的任务是统计有多少骑士不能参加任何一个会议。•数据规模:•1先建图,将能坐在一起的点连边。所以能坐一桌的人就将围成一个环(因为是求有多少个
2017-10-18 21:33:29
324
原创 2017.10.15 考试
T1:这题一看就觉得简单,而且当时就觉得这难道不是原题??O(N)的思路直接就出来了,3min写完后发现自己题都没读完。这题里面的隐含信息实在是很多,而被忽视掉的也实在是很多,所以说做题要保持一颗平常心,别激动,别消沉,慢慢来,一点点做才是王道。第一题确实是轻敌了。T2:由于前一天的初赛才考了toposort,所以这题很自然就想到了正解的思路,觉得很轻松,不超过5min,就想出
2017-10-16 22:53:19
218
原创 2017.10.14 考试
T1:才开始看到第一题,手写数据自己算,然后就感觉是有循环节的,两个数接近总和一半的时候就是交换的时候。这里是自己分析的方法不好,当时就一直觉得这个样子应该是正确的,然后写出来对拍发现有的数据可能根本就死循或者非常大,没办法存下来。回到一开始的思路继续想的时候就有些迷茫了,感觉答案应该和sum或者mid有关,自己还是没有想到用线段长度来表示数字大小关系。就一直接着以前的思路想,放不
2017-10-16 22:36:35
255
原创 #UVA12588#Egyptian Fractions (HARD version)(ID_搜索基础题)
题目:Given a fraction a/b, write it as a sum of different Egyptian fraction. For example, 2/3 = 1/2 + 1/6. There is one restriction though: there are k restricted integers that should not be used
2017-10-06 22:14:53
264
原创 #POJ1475#Pushing Boxes(A*_搜索)
Pushing BoxesTime Limit: 2000MS Memory Limit: 131072KTotal Submissions: 6117 Accepted: 2115 Special JudgeDescriptionImagine you are standing inside a two-di
2017-10-06 21:51:43
321
原创 #POJ2331#Water pipe(IDA*_搜索)
Water pipeTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 2508 Accepted: 715DescriptionThe Eastowner city is perpetually haunted with water supply sho
2017-10-06 21:32:39
291
原创 #POJ3897#Maze Stretching(A* + 二分)
Maze StretchingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 1567 Accepted: 382DescriptionUsually the path in a maze is calculated as the sum of ste
2017-10-06 21:19:02
243
原创 #HDU1560#DNA sequence(IDA*_搜索)
DNA sequenceTime Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3118 Accepted Submission(s): 1518Problem DescriptionThe twenty-first c
2017-10-06 21:12:10
283
原创 #HDU1813#Escape from Tetris(IDA*_搜索)
Escape from TetrisTime Limit: 12000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1430 Accepted Submission(s): 409Problem Description由于整日整夜地对着这个棋盘
2017-10-06 21:02:34
276
原创 #HDU1667#The Rotation Game (IDA*_搜索)
The Rotation GameTime Limit: 45000/15000 MS (Java/Others) Memory Limit: 150000/150000 K (Java/Others)Total Submission(s): 1792 Accepted Submission(s): 749Problem DescriptionThe rotat
2017-10-06 20:57:21
224
原创 #NOIP2011#聪明的质检员(二分)
【NOIP2011】聪明的质监员时间限制: 1 Sec 内存限制: 128 MB题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有n 个矿石,从1到n 逐一编号,每个矿石都有自己的重量wi 以及价值vi。检验矿产的流程是: 1、给定m 个区间[Li,Ri]; 2、选出一个参数W; 3、对于一个区间
2017-09-25 20:41:31
229
原创 #NOIP2011#Mayan游戏(Dfs搜索)
【NOIP2011】Mayan 游戏时间限制: 3 Sec 内存限制: 128 MB题目描述 Mayan puzzle 是最近流行起来的一个游戏。游戏界面是一个7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上。游戏通关是指在规定的步数内消除所有的方块,消除方块的规则如下: 1、每步移动可以且仅可
2017-09-24 22:51:51
171
原创 #NOIP2011#选择客栈
【NOIP2011】选择客栈时间限制: 1 Sec 内存限制: 128 MB题目描述丽江河边有 n 家很有特色的客栈,客栈按照其位置顺序从1 到n 编号。每家客栈都按照某一种色调进行装饰(总共k 种,用整数0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的
2017-09-24 22:44:10
270
原创 2017.9.9考试
这场考试的题,有些遗憾,感觉自己明明应该要做出来1,2题的,但是最后第二题没推出来,我给自己下的定义叫做:乱,非沉者第一题看着很有思路,我一眼就看出了正解,感觉我应该是周围人中最早想出来的(因为我写完了才听到他们开始写)。当时还是很开心的,然后在第二题的审题上一开始就先入为主了,后来仔细看过已经是很久之后了,那时候浪费了太多的时间。构造一个数阵,明摆着的让你去推结论和规律。一开始以
2017-09-11 18:04:43
189
原创 2017.9.7考试
很迟来的总结,这次考试的题有些难,却有很多东西值得记忆,印象最深的是在第一题的挣扎(本来很简单的,后来2,3题也就没做了)。第一题,它看起来很可做的样子,我也觉得这题应该就是个简单题,于是就一直在做。最开始的第一思路是贪心,感觉可以一直放就好了,但是觉得应该少了些什么条件,不然反例是很明显的。有个模糊的感觉是跟个数和剩下的选择可能有关,可惜没太往深处想,错过了一开始就想出正解的机会。
2017-09-11 17:57:23
193
原创 #NOIP模拟赛#押韵rhyme(TRI树 + Dp)
押韵(rhyme.cpp/c/pas)【题目描述】LCS表示最长公共后缀长度。如果两个单词A,B押韵,当且仅当LCS(A,B)>=MAX(A,B)-1。如果一个序列押韵,当且仅当该序列中任意相邻的两个单词押韵。现在,给你一片文章,文章中没有相同的两个单词。请你从该文章中选择任意单词,并任意排列顺序,得到一个尽量长的押韵序列。注意,每个单词只能出现一次。【输入格式】第一行一个整数N(
2017-09-05 22:17:33
494
原创 #bzoj1506#双塔问题(Dp经典)
1506: 双塔问题时间限制:1 Sec 内存限制: 64 MB题目描述第三题:双塔问题 2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难。为了纪念"9?11"事件,Mr. F决定自己用水晶来搭建一座双塔。 Mr. F有N块水晶,每块水晶有一个高度,他想用这N块水晶搭建两座有同样高度的塔,使他们成为一座双塔,Mr. F可以从这N块
2017-09-05 22:04:07
591
原创 #NOIP模拟赛#吃糖果candy(缩小选边范围--mod区间)
吃糖果(candy)【题目描述】小D有一包糖果和N张卡片。每张卡片上都有一个正整数Pi。小D想这样吃糖果,他把两张卡片用线串起来,如果两张卡片上的数字分别为Pa和Pb,他就吃掉min(Pa%Pb,Pb%Pa)的糖果。他想最终把所有的卡片都串起来——即提起一张卡片,就可以将其他卡片都提起。请问他最少需要吃掉多少糖果。【输入格式】第一行包含一个正整数N(15)接下来N行,每行一
2017-09-03 22:08:47
442
原创 #NOIP模拟赛#捕鼠器mousetrap(树)
题解其实是相当详细的,但是是英文的,于是我就自己翻译了一份(拒转载,心血啊),有可能有错,但是并不影响大部分的理解,可以参考。Code:#include#include#include#include#include#includeusing namespace std;const int Max = 1000000;int N, Root, Mouse;in
2017-08-26 19:23:12
271
原创 #NOIP模拟赛#保证的利润(贪心 模拟)
首先要想清楚一个性质,因为对于每个公司,都可以下任意种类的注,所以是否同一公司并无影响,可以分开来考虑。对于每种注,因为买一注的花费是一样的,所以一定会优先选择回报高的购买, 并且,两种注都必须买(总体上看)。对两种注分别从大到小排序。因为最后的答案由较低的一边的利润决定,所以优先将较小回报的那方加上更多的股数。每次记录答案。Code:#include#include#in
2017-08-26 19:15:21
245
原创 #NOIP模拟赛#单向道路(LCA or 子树和-> 边的贡献)
有两种做法,都比较好想。首先,两种方法都要对于整个图求桥,因为边双连通分量中的两个点一定可以互达。然后对于桥,我们得到一棵树(将所有的点所对应的连通分量标记好)。第一种:任意提一个结点,转成有根树,对于两个城市,求LCA,因为有解,到LCA的路径上的边的方向是指向LCA的,另一边相反,这个要注意递归处理(已经处理过的要跳过),不能O(N)更新方向。第二种:记录每个联通分量中
2017-08-26 17:54:13
277
原创 #NOIP模拟赛#同色齿轮问题(Hungary最大匹配 or 网络流)
一共只有三种颜色,假设前两种颜色反向,对于第三种颜色,它与前两种齿轮中必有一种同向。枚举两种齿轮的颜色,假设它们旋转方向矛盾(同向),另一种只需要与它们反向就一定不矛盾了,所以此处可以不考虑。对于这两种需要啮合的颜色齿轮连边,Hungary求二分图最大匹配,最大匹配数就是矛盾需删除掉的齿轮数(注:删掉的不一定是同色齿轮)。Code:#include#include#includ
2017-08-26 17:32:42
299
原创 #NOIP模拟赛#字母选择Choose(并查集)
此题贪心为错解,因为是全部更改,所以如果先多次更改了很多小数目,最后可能会一次更改一个很大的数目,这是没有必要的。正解为并查集,对于首尾对应位置的字母,如果不匹配,则查看当前两个字母的所属集合,根节点的字母数量,将小的接在大的下方,表示小的将全部改成大的。可以想象为之前改成了某字母,后面又改成了另一字母(大可以直接改成最终字母,这种方案一定合法)最后遍历,减去不需要更改的。#inc
2017-08-26 17:19:23
314
原创 #NOIP模拟赛#Cool子集(Dp + 状压)
用一个int S的二进制来表示当前这一个集合中包含哪些数字(0~9)定义Bit[S]表示当前状态S中有多少个数字(即二进制中有多少个1)定义Dp[S]表示当这个集合中只有一个整数, 这个整数不超过N,且包含数字的状态为S时,这个集合最多可能有多少种方案。对于Dp[S]的处理:当Bit[S] > N的位数:Dp[S] = 0;当Bit[S] 当S中有数字‘0’时,Dp[S]
2017-08-22 08:02:03
316
原创 #NOIP模拟赛#TSP(树型DP)
这一题,枚举根节点。先贴上两个性质:定义Dp[u]表示以u为根结点,保证u的子树中所有节点都能被区分的最少信号塔数量。因为son已经保证了其子树能被区分,所以只考虑u的直系子节点能否被区分。如果有两个及以上的子节点,那么它们是不能被区分的,所以需要在u处放一个信号塔,从结论一得。Code:#include#include#include#includeusi
2017-08-19 21:45:41
253
原创 #NOIP模拟赛#排列问题(DP)
这个题,是一个DP,令人惊讶,我当时根本就没往这方面想,还是题见得少了同学有一个DP解法,个人感觉比标解好理解得多,具体如下:如图:将数字1 ~ N从大到小填定义Dp[full][half][sum]表示已经填了full个格子(上下对应都填了, 如:上4下5)有2 * half个格子填了一半(如:红色点的两个格子,由于这种格子必然是偶数个,所以除2)已经填的数的总和是s
2017-08-19 21:30:20
274
原创 #NOIP模拟赛#相似字符串(树形DP + 状压)
这题是一个状压树DP,有思路可以先想一下,不是特别难(但是我作为一个蒟蒻理解标程看了相当久才彻底想清楚,我的树DP太弱了)标解写得有点模糊,其实也很清楚,但是我还是想要说一下我对这题思路的理解。贴出标解:Code:(本人代码,由于本人蒟蒻,,就不写C++11那个版本了,因为感觉自己用不上那个??)#include#include#
2017-08-19 17:54:15
410
原创 #NOIP模拟赛#多边形Polygon(枚举 + 模拟)
Code:算法一实现(慢死)#include#include#include#include#include#includeusing namespace std;const double eps = 1e-6;struct node{ int x, y, dis; node(){} node(int a, int b, int c){ x = a
2017-08-18 21:42:23
533
原创 #bzoj3394#雪后村庄(启发式合并 + 哈希)
3394: 雪后村庄时间限制:1 Sec 内存限制: 512 MB题目描述 输入输出输出q行,每行一个字符串“yes”或“no”(不包括引号)。样例输入2 43 41 2 32 3 22 4 41 2 31 3 22 3 23 4 441 3 31 3 21 4 33 4 4样例输出noye
2017-08-15 21:38:14
346
堆优化dijkstra代码模板示例
2020-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人