清北
泽7
这个作者很懒,什么都没留下…
展开
-
清北——算(sum)
本题用等比数列求和公式Sn=(a1(qn -1))/(q-1);用乘法逆元求除法意义上的取模运算快速幂计算;#include <iostream>#include <cstdio>#define LL long longusing namespace std;const LL MOD=1e9+7;LL n,m,ans;LL ksm(LL x,LL y)...原创 2019-05-09 15:37:11 · 169 阅读 · 0 评论 -
清北——第k小数(number)
把两个序列排序,知道最大的数和最小的数,在范围内二分答案;如果小于mid的数大于等于k个,说明mid太大;反之,mid太小;#include <iostream>#include <cstdio>#include <algorithm>#define LL long longusing namespace std;const int N=2e5+...原创 2019-05-09 17:27:48 · 312 阅读 · 0 评论 -
清北——列车调度(manage)
本题求最长上升子序列#include <iostream>#include <cstdio>using namespace std;int n,st[100010],ans;int main(){ freopen("manage.in","r",stdin); freopen("manage.out","w",stdout); cin>>n;...原创 2019-05-09 17:23:13 · 234 阅读 · 0 评论 -
清北——三角形(trokuti)
任意三条斜率不同的直线都可以组成三角形;用结构体数组存下a[i],b[i];按a[i]升序排列;记录同为一个斜率的直线条数num[i];多少种斜率 mans=在n条中任意选三条方案数 - 一种斜率中用了两条,在其他种直线中任选一条方案数-同一斜率用了三条直线方案数#include <iostream>#include <cstdio>#include <...原创 2019-05-09 17:21:30 · 144 阅读 · 0 评论 -
清北——传球接力(pass)
一个人只会把球传给一个人找连通块,找环;一个连通块内只有一个环;球传到环内才会终止;最大传球距离,一个环加上从环中的一个点出发的被传过来的距离;枚举取最大把入度为零的点存入队列中,开始向中间走,不断更新到被传球的人的最大传球距离,当前的人所传球的人入度–;如果入度等于零了,就入队;处于环中的点入度必定不为零;找入度不为零的点,开始答案#include <iostream&g...原创 2019-05-09 17:07:00 · 238 阅读 · 0 评论 -
清北——业务办理(transact)
贪心假设d[i]<d[j]当i排在j前面时 ans=max(两个人不满意度)j排在i前 ans=max()可以看出 j排在i前的答案要比i排在j前的答案大,但我们要取小的,所以当 d[i]<d[j] 时,i排在j前面最优;所以把n个d[i]从小到大排序,找最大的就行了#include <iostream>#include <cstdio>#in...原创 2019-05-09 16:56:21 · 147 阅读 · 0 评论 -
清北——序(sort)
本题就是求最长上升子序列#include <iostream>using namespace std; int i,j,n,s,t,a[100001];int main(){ freopen("sort.in","r",stdin); freopen("sort.out","w",stdout); cin>>n; a[0]=-1000000;...原创 2019-05-09 16:42:56 · 115 阅读 · 0 评论 -
清北——迷(enc)
本体模拟一下就好,数据有个坑英文二十六个字母,他给了二十五个对应,那么最后一个字母也就相应的对应了#include <iostream>#include <cstdio>#include <cstring>using namespace std;char a[1010],b[1010],c[1010],f[100];int d[100],num;...原创 2019-05-09 16:41:38 · 116 阅读 · 0 评论 -
清北——运(lucky)
本题特点 幸运数的个数非常少,打暴力算一算在题目范围中是1022个;用dp递推,dp[i][j]表示用前i个幸运数排成长度j的序列所得方案数;dp[i][j]=dp[i-1][j](前i-1个数组成j的方案数,也就是不用第i个)+b[i]*dp[i-1][j-1];b[i]表示第i个幸运数在序列中出现的次数;一共有k个数,其中i个数用非幸运数,k-i个用幸运数,用排列组合求得用非幸运数的方...原创 2019-05-09 16:30:30 · 165 阅读 · 0 评论 -
清北——游 (tour)
n-1条边,是一棵树,那么为了使每一个树枝全都遍历一遍,走到一个树枝尾巴时必须要倒回到树干走起他树枝,那么一个树枝要走两遍,但最后一条树枝走完就不用倒回去了,所以是所有边权和的二倍减去最后一条树枝;要使答案最小,使最后走的树枝最长就可以了。求单源最长路,用dijkstra堆优化就可以了#include <iostream>#include <cstdio>#i...原创 2019-05-09 15:45:03 · 170 阅读 · 0 评论 -
清北——dwarf tower
正向扫一遍,再反向扫一遍;正向扫的过程中,后面的不断被更改,但扫过去的数无法被后面的改了的数再改,所以在反向来一遍;因为正向时最后一个一定是最优的,再用最优的不断往前扫所有也都是最优的#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,m,an...原创 2019-05-09 17:33:56 · 280 阅读 · 0 评论