标签: 编程

51 篇文章

算法基础训练 50 题(五)前缀和与差分
#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…
算法基础训练 50 题(二) 贪心
#JC0201. 活动安排 题目描述 对数据按照结束时间从小到大排序,相同结束时间的按开始时间从大道小排序。然后使用一个变量记录时间指针,不断选取开始时间大于等于时间指针的会议并把指针移到该会议的结束时间。 #include<bits/stdc++.h> pair<int,int> p[1001]; int n,an…
GAMES101-L13 光线追踪(基本原理)
光线追踪 在光线追踪中,假设相机是个点而不是个矩形。然后将每个像素和相机相连并延长这条线,作为光线,这条线被称为“眼睛光线”。这根光线会和场景中的物体相交,记录下最近的交点。将交点与光源相连,判断能否被光源直接照到。使用着色器进行着色,写入该像素点的颜色值。 Whitted风格光线追踪 当光线与物体相交时,计算该光线的反射光、折射光。同时不断递归反…
新建Electron项目
首先需要安装node.js,在cmd中输入node -v检查是否安装成功 再新建项目文件夹,并在项目文件夹中打开cmd。 在cmd中输入npm init初始化node.js项目,输入相关信息,其中entry point应当填:main.js随后会在项目文件夹下得到一个类似这样的package.json文件: { "name": "my-electr…
算法基础训练 50 题(一) 模拟
#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…
GAMES101-L12 几何(网格处理)、阴影图
网格细分 Loop细分 Loop细分只能对三角形的模型进行细分 引入新顶点 取每个三角形的每一个边的中点,并相互连接起来。 移动顶点 顶点分为新顶点和老顶点: 对于新顶点:新顶点所在边的两个老顶点分别乘\(\frac{3}{8}\),再将该边所在三角形的另外两个顶点分别乘\(\frac{1}{8}\),最后相加,即:\(\frac{3}{8}(A+…
GAMES101-L10 几何(基本表示方法)
隐式表示 几何的隐式表示,就是并不直接定义几何体的面,而是用函数来描述,即几何体上的点满足某种特定的关系。 可以很快速的找到某个点是否在几何体表面上或者内部、外部,但是只适用于简单的几何体,对于复杂的几何体,其函数将非常复杂,并且无法从函数直接看出几何体是什么。 显示表示 显示表示主要分为两种:直接给出每个点的坐标,或者通过参数映射。前者很好理解,…