摘要: 比赛:https://qoj.ac/contest/1321 C 定义dp[i][j][k]表示(i,j)为末尾,长度为k的路径的数量,注意>=4通通放到k=4的位置。按元素大小顺序计算dp,注意重复问题,例如1 2 3 4,dp[1][4][3]不应把2->3->4算上,dp[1][4][2]不应 阅读全文
posted @ 2026-03-27 19:45 TimeLimit 阅读(4) 评论(0) 推荐(0)
摘要: ## filein = -I/usr/include -I/usr/lib/x86_64-linux-gnu/mpich/include -I/usr/lib/x86_64-linux-gnu/openmpi/lib/ -I/usr/lib/gcc/x86_64-linux-gnu/11/ -I/u 阅读全文
posted @ 2025-12-12 18:31 TimeLimit 阅读(42) 评论(1) 推荐(1)
摘要: 难度 A B C D E N 难度1 G H J L 难度2 F M O 难度3 I K 难度4 Problem D 当某个尾号的出现次数大于k时,不可能。 #include <bits/stdc++.h> using namespace std; using ll = long long; ll 阅读全文
posted @ 2025-11-29 21:33 TimeLimit 阅读(80) 评论(0) 推荐(0)
摘要: 线程束 在一个线程束(warp)中的线程执行指令的方式是SIMT,即单指令多线程,单指令表明线程束中的线程执行相同的指令,如果因为条件语句导致线程束内的线程选择了不同分支,就会出现线程束分化。 warp是并行执行的一个独立单位,warp内所有线程是在同一个时钟周期内执行指令的。 Bank Confl 阅读全文
posted @ 2025-07-30 01:34 TimeLimit 阅读(29) 评论(0) 推荐(1)
摘要: 以求n数之和为例,讲述规约问题。 串行规约 即直接遍历,时间复杂度为\(O(n)\)。 int sum = 0; for (int& x : v) { sum += x; } 并行规约 可以采用分治策略,例如计算[1, 2, 3, 4]的和,可以一个线程计算1+2,另一个线程计算3+4,再把结果进行 阅读全文
posted @ 2025-07-13 14:13 TimeLimit 阅读(25) 评论(0) 推荐(0)
摘要: 本篇总结一下之前提到但没有进一步展开的内存访问问题和共享内存问题。 __device__关键字与内存访问 #include <iostream> __device__ int cnt1 = 1, cnt2 = 1; // GPU上的全局变量 __global__ void kernal(int ty 阅读全文
posted @ 2025-07-13 13:18 TimeLimit 阅读(30) 评论(0) 推荐(0)
摘要: 本篇讲述同步问题。 互斥访问 #include <iostream> __device__ int cnt1 = 0, cnt2 = 0; // GPU上的全局变量 __global__ void kernal(int type) { if (type == 0) { printf("int par 阅读全文
posted @ 2025-07-10 01:08 TimeLimit 阅读(24) 评论(0) 推荐(1)
摘要: 题目链接:https://codeforces.com/contest/960/problem/F 解法一 贪心 回顾\(LIS\)问题,我们维护\(dp[i]\)表示长度为\(i\)的上升子序列中,可能的末尾元素的最小值。这个贪心的核心在于维护末尾的最小值,使得尽可能允许新加入的元素能够构成更长的 阅读全文
posted @ 2025-06-22 19:14 TimeLimit 阅读(40) 评论(0) 推荐(0)
摘要: 本篇讲述如何使用CUDA编程并行计算两个向量的加法。 并行结构 这是CUDA编程的并行结构。 Grid是最高层级的单位,由多个Block(线程块)组成; 每个Block由许多Thread(线程)组成,同一个Grid内的所有Block共享相同的全局内存空间; 而Thread是CUDA编程中最小的执行单 阅读全文
posted @ 2025-06-19 11:10 TimeLimit 阅读(47) 评论(0) 推荐(0)
摘要: CUDA是什么 英伟达为自家显卡开发的工具,方便程序员进行与显卡相关的编程。平时我们的程序如果没有使用类似CUDA的工具,都是在CPU上运行的,想让程序在GPU上运行就需要专门编程来实现。 准备工作 搭建CUDA编程环境。在Windows环境中,安装CUDA后可以用VS创建CUDA项目,直接用nvc 阅读全文
posted @ 2025-06-18 00:14 TimeLimit 阅读(69) 评论(0) 推荐(1)