- 博客(7)
- 收藏
- 关注
原创 使用c语言实现线程池
4、优雅关闭:确保线程池关闭时所有任务都能完成或妥善处理。3、条件变量:任务队列为空,线程等待;1、线程安全:确保所有共享资源的访问都是线程安全的。2、资源泄漏:确保所有分配的资源都被正确释放。4、任务分配:线程从队列头部获取任务执行。2、工作线程:池中实际执行任务的线程。4、任务接口:每个任务必须实现的接口。3、死锁预防:避免在任务中获取全局锁。1、线程管理器:创建和摧毁线程池。3、任务队列:存放带处理的任务。2、文件处理:批量处理大量文件。1、任务队列:链表队列结构。3、数据处理:并行计算任务。
2025-04-06 14:52:15
452
1
原创 直线、折线分割平面及平面分割空间问题
直线分割平面问题:1、公式:a[i]=a[i-1]+(i-2),b[i]=b[i-1]+2,f[i]=a[i]+b[i];//a[i]为分割之后的内部,b[i]为分割之后的外部,f为直线分割平面的数量。2、注解:对于第n条直线:内部:每次直线最多于之前的n-1条直线相交产生n-1个交点->n-2个新块外部:每次最多将两个块一分为二折线分割平面问题:1、公式:a[i]=a[i-1]+(i-2),b[i]=b[i-1]+2,f[i]=a[2x]+b[2x]-2x;//a和b同直线,
2022-05-15 21:02:46
1383
1
原创 数列错排问题
该同学同时给n个网友每人写了一封信,他竟然把所有的信都装错了信封!注意了,是全部装错哟!现在的问题是:请大家帮可怜的同学计算一下,一共有多少种可能的错误方式呢?公式:f[i]=(i-1)*(f[i-1]+f[i-2])注解:考虑第n个放在第k个位置,那么第k个位置的信有两种选择1、k->n:相当于n-2的信封错排问题。2、k不去n:相当于n-1的信封错排问题。#include <bits/stdc++.h>#define LL long longusing n
2022-05-15 20:19:18
224
原创 求组合数 mod P
求C%p 的值#include <bits/stdc++.h>#define LL long long intusing namespace std;LL q(LL a,LL b,LL p)//快速幂模板{ LL ans=1; while(b) { if(b&1) ans=(ans*a)%p; b=b >> 1; a=(a*a)%p; } ...
2022-04-28 19:48:58
203
原创 快速幂模板
int Quick_pow(int a,int b){ int ans=1,base=a;// ans:结果;base:底数 while(b) { if(b & 1)//等于b%2==1 { ans=ans*base; } base=base*base; b = b >> 1;//等于b/2 } return ans;}int po.
2022-04-28 19:05:55
322
原创 博弈论类型
一、尼姆游戏给定 N 堆物品,第 i 堆物品有 Ai个。两名玩家轮流行动,每次可以任选一堆,取走任意多个物品,可把一堆取光,但不能不取。取走最后一件物品者获胜。两人都采取最优策略,问先手是否必胜。结论:每一堆异或起来,等于0,先手必败,否则先手必胜。#include <cstdio>using namespace std;int n, x, ans;int main(){ scanf("%d", &n); for(int i = 1; i &...
2022-04-27 16:32:10
443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅