Loading

摘要: 普通01分数规划 由n个物品,每个物品由两个属性a和b,选出k个物品,使Σai / Σbi 的值最大 设x=Σai / Σbi, F()=Σa-xΣb, D()=a-xb 当F()=0时,则为答案;当F()>0时,则说明答案小了;当F()<0时,则说明答案大了 二分答案 double l=0,r=1 阅读全文
posted @ 2019-10-02 22:56 qinuna 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 问题:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二(除以7余2),问物几何? 解法: 1:从5和7的公倍数中找出除3余1的最小数70,从3和7的公倍数中找出被5除余1 的最小数21,从3和5的公倍数中找出被7除余1的最小数15。 2:用70乘2,21乘3,15乘2,相加得233。 3.用 阅读全文
posted @ 2019-10-02 17:04 qinuna 阅读(221) 评论(0) 推荐(0) 编辑
摘要: void get_prime(ll x) { ///筛出质因子 ll t=x; if(x%2==0) { v.push_back(2); while(x%2==0) x/=2; } for(ll i=3;i*i<=t;i+=2) { if(x%i==0) v.push_back(i); while( 阅读全文
posted @ 2019-10-01 22:27 qinuna 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1:暴力求法,n<15 int C(int n,int m) { int mod=10007; int ans=1; for(int i=n;i>=(n-m+1);i--) ans*=i; while(m) ans/=m--; return ans%mod; } View Code 2:打表 n<1 阅读全文
posted @ 2019-09-23 17:40 qinuna 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1.定义: 对于离线数列d,建立差分数组f,则 f[1]=d[1],f[i]=d[i]-d[i-1] 2.性质 (1):对于各个项,有d[2]=d[1]+ (d[1]-d[1]) =f[1]+f[2],即:d[i]=Σf[i] (2):求数列的前缀和 sum(x)=Σ(i=1,x)Σ(j=1,i)f 阅读全文
posted @ 2019-09-22 13:00 qinuna 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 方格涂色问题 n个方格,用红、粉、绿三色涂每个格子,要求相邻的方格不能同色,且首位两格也不同色,求满足要求的涂法 令f(n)=1,2,...,n-1,n, 前n-2个已涂好色,涂n-1有两种情况 (1):n-1与n-2和1的色都不同,无选择,则f(n-1) (2):n-1与n-2不同,与1相同,则n 阅读全文
posted @ 2019-09-21 22:14 qinuna 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1:对原序列进行排序,使其按升序排列。 2:去掉序列中重复的元素。 3:此时序列中各位置的值和位置的序号就是离散化的映射方式。 含重复元素 for(int i=1;i<=n;i++) { cin>>a[i]; b[i]=a[i]; } sort(b+1,b+1+n); int len=unique( 阅读全文
posted @ 2019-09-21 21:06 qinuna 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 建树 struct node { int L,R; int w;///区间和 int f; }t[4*n+1]; void build(int k,int L,int R) { t[k].L=L; t[k].R=R; if(L==R) { t[k].w=a[i]; ///叶节点 return ; } 阅读全文
posted @ 2019-09-21 13:52 qinuna 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 给n个货物,k辆车,求每辆车的最大装载量的最小值 #include <iostream> #include <queue> #include <cstdio> #include <cstring> using namespace std; typedef long long ll; int n,k; 阅读全文
posted @ 2019-09-21 13:41 qinuna 阅读(148) 评论(0) 推荐(0) 编辑
摘要: Kruskal算法 加边法,初始边数为0,每次选择一条满足条件的最小代价边,加入到最小生成树的边集合里。 适用于简单图 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; int n,m,to 阅读全文
posted @ 2019-09-21 12:28 qinuna 阅读(137) 评论(0) 推荐(0) 编辑