#JC0501. Subsequences Summing to Sevens S 题目描述 先对输入数据求前缀和,同时将前缀和模7。从头开始遍历,对于每一个数,再从末尾往前寻找,找到和模7为0的数,并记录区间长度。直接这样会导致超时。实际上由于记录前缀和时进行了模7,所以前缀和只会是0-6中的数,区间开始位置的数相同时区间的结尾也相同,但是后遍历…
模版 //用a表示原数组originalArray,用p表示前缀和prefixSum,用d表示差分difference //一维前缀 a[0]=p[0]=0; p[i]=a[i]+p[i-1]; //生成前缀和 a[i]=p[i]-p[i-1]; //还原原数组 sum=p[r…
#JC0201. 活动安排 题目描述 对数据按照结束时间从小到大排序,相同结束时间的按开始时间从大道小排序。然后使用一个变量记录时间指针,不断选取开始时间大于等于时间指针的会议并把指针移到该会议的结束时间。 #include<bits/stdc++.h> pair<int,int> p[1001]; int n,an…
光线追踪 在光线追踪中,假设相机是个点而不是个矩形。然后将每个像素和相机相连并延长这条线,作为光线,这条线被称为“眼睛光线”。这根光线会和场景中的物体相交,记录下最近的交点。将交点与光源相连,判断能否被光源直接照到。使用着色器进行着色,写入该像素点的颜色值。 Whitted风格光线追踪 当光线与物体相交时,计算该光线的反射光、折射光。同时不断递归反…
首先需要安装node.js,在cmd中输入node -v检查是否安装成功 再新建项目文件夹,并在项目文件夹中打开cmd。 在cmd中输入npm init初始化node.js项目,输入相关信息,其中entry point应当填:main.js随后会在项目文件夹下得到一个类似这样的package.json文件: { "name": "my-electr…
#JC0101. Suffix Three 题目描述 观察题目可知,字符串的倒数第二个字符可以确定语言:p - Filipinos - Japanesed - Korean int main() { int n; string s; cin>>n; for (int i=1;i<=n;i++) { s.clear(); cin&g…
网格细分 Loop细分 Loop细分只能对三角形的模型进行细分 引入新顶点 取每个三角形的每一个边的中点,并相互连接起来。 移动顶点 顶点分为新顶点和老顶点: 对于新顶点:新顶点所在边的两个老顶点分别乘\(\frac{3}{8}\),再将该边所在三角形的另外两个顶点分别乘\(\frac{1}{8}\),最后相加,即:\(\frac{3}{8}(A+…
贝塞尔曲线 贝塞尔曲线是由多个点确定一条曲线,其中,曲线一定经过第一个和最后一个点。 de Casteljau算法 假设有三个点\(b_0\)、\(b_1\)、\(b_2\)。 假设一个时间t,取值为\([0,1]\)。在时间t时,在线段\(b_0 b_1\)上取一点\(b_0^1\),使得\(b_0 b_0^1:b_0^1 b_1=t:(1-t)…
隐式表示 几何的隐式表示,就是并不直接定义几何体的面,而是用函数来描述,即几何体上的点满足某种特定的关系。 可以很快速的找到某个点是否在几何体表面上或者内部、外部,但是只适用于简单的几何体,对于复杂的几何体,其函数将非常复杂,并且无法从函数直接看出几何体是什么。 显示表示 显示表示主要分为两种:直接给出每个点的坐标,或者通过参数映射。前者很好理解,…
插值 重心坐标 已知三角形三个顶点的坐标,那么三角形所在平面的任意一点都看看有用以下公式来表示:\((x,y)=\alpha A+\beta B+\gamma C\)且满足\(\alpha +\beta +\gamma=1\) 如果这个点在三角形内部,那么\(\alpha\)、\(\beta\)和\(\gamma\)都是正数。 由\(\alpha\…