自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Consult_

笔记专用,有错误请指正

  • 博客(16)
  • 收藏
  • 关注

原创 因数个数和

因数个数和 题目描述 :q次询问,每次给一个x,问1到x的因数个数的和。1<=q<=10 ,1<= x<=10^91~n 约数的个数的和实际就是看 1~n 在这些数中出现过多少次,例如 1是1~n每个数的因数,所以对1这个因数来说,出现了n/1次,以此类推;求和后乘以2再减去重复的计算即可;#include<bits/stdc++.h>using namespace std;typedef long long LL;LL fun(LL n){

2020-05-23 12:22:38 361

原创 强联通分量 和 双连通分量 (tarjan)

P2272 最大半连通子图题目描述一个有向图 G=(V,E) 称为半连通的 (Semi-Connected),如果满足:∀u,v∈V,满足 u→v 或 v→u,即对于图中任意两点 u,v,存在一条 u 到 v 的有向路径或者从 v 到 u 的有向路径。若 G′=(V′,E′) 满足,E′ 是 E 中所有和 V′ 有关的边,则称 G′ 是 G 的一个导出子图。若 G′ 是 G 的导出子图,且 G′ 半连通,则称 G′ 为 G 的半连通子图。若 G′ 是 G 所有半连通子图中包含节点数最多的,则称

2020-05-21 22:37:20 832

原创 P1880 [NOI1995]石子合并 (区间DP)

石子合并题目描述在一个圆形操场的四周摆放 N 堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出一个算法,计算出将 N 堆石子合并成 1 堆的最小得分和最大得分。这是个圆形的操场QAQ,那就2*n 排成一排就可以了;集合表示:dp[ i ][ j ] 表示区间 [ i , j ] 内的石子合并方式的集合,其属性为得分的最小或最大值;集合划分:根据区间[ i,j ] 的最后一次合并位置 k 来划分:dp[ i ][

2020-05-15 13:53:41 142

原创 Codeforces Round #642 (Div. 3)

A. Most Unstable Array#include<bits/stdc++.h>using namespace std;int main(){ int T; cin>>T; while(T--){ int n,m; cin>>n>>m; if(n==1) cout<<0<<endl; else if(n==2) cout<<m<<endl; else if(n>2

2020-05-15 11:55:56 91

原创 P1025 数的划分 + 900. 整数划分 (计数DP)

P1025 数的划分题目描述:将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5;1,5,1;5,1,1.问有多少种不同的分法。输入格式n,k (6<n≤200,2≤k≤6)输出格式1个整数,即不同的分法。集合表述:dp[ i ][ j ] 表示整数 i 分为 j 份的方案数;集合划分:根据 dp[i][j] 表示的方案内含1 和不含1 分为两类;dp[ i-1 ][ j-1 ] 为含1的方.

2020-05-14 14:23:27 221

原创 P2758 编辑距离 (线性DP)

最短编辑距离 题目描述设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:1、删除一个字符;2、插入一个字符;3、将一个字符改为另一个字符;!皆为小写字母!经典的DP模型:dp[ i ] [ j ] 为 a串的前 i 个字母和 b串的前 j 个字母相同的操作次数,其属性为操作次数的最小值。由题意知可以把dp[ i ][ j ] 这个集合 分为三类: 删去第 i 个字母,修改第i个字母,在第 i 个字母后增加一个字母。取这三个状态的最小

2020-05-13 21:17:16 351

原创 C. Skier (Testing Round #16)

入口一开始还以为记录重复的点就可以了,搞了半天是重复的边QAQ,,#include<bits/stdc++.h>#define LL long longusing namespace std;typedef pair<int,int> PII;int main(){ int T;cin>>T; while(T--){ string s; cin>>s; set<pair<PII,PII>> st; i

2020-05-13 14:19:06 241 3

原创 Codeforces Round #640 (Div. 4) (全)

入口基本都是构造、模拟、暴力啥的;A. Sum of Round Numbers整数拆分#include<bits/stdc++.h>using namespace std;int main(){ int T; cin>>T; while(T--){ int n,t=1; cin>>n; int num=0,k=n; while(k){ if(k%10) num++; k/=10; } cout<<num&

2020-05-13 14:13:19 141

原创 AtCoder Beginner Contest 167

A - Registration签到#include<bits/stdc++.h>using namespace std;const int N = 2e5+7;int main(){ string a,b; cin>>a>>b; int flag=1; for(int i=0;i<a.size();i++){ if(a[i]!=b[i]) flag=0; } if(flag) puts("Yes"); else puts("No")

2020-05-10 22:19:20 147

原创 基本背包模板

01背包二维01背包O(nm)memset(dp,0,sizeof dp); //边界for(int i=1;i<=n;i++){ for(int j=0;j<=m;j++){ dp[i][j] = dp[i-1][j]; //不选第i个物品 if(j>=w[i]) dp[i][j] = max(dp[i][j], dp[i-1][j-w[i]] + v[i])...

2020-05-08 17:05:22 170 1

原创 D 小雨坐地铁 (分层建图 最短路)

入口小雨坐地铁题目描述小雨所在的城市一共有 m 条地铁线,分别标号为 1 号线,2 号线,……,m 号线。整个城市一共有 n 个车站,编号为 1∼n 。其中坐 i 号线需要花费 a_i 的价格,每坐一站就需要多花费 b_i的价格。i 号线有 c_i个车站,而且这 c_i个车站都已知,如果某一站有多条地铁线经过,则可以在这一站换乘到另一条地铁线,并且能多次换乘。现在小雨想从第 s 个车站坐地铁...

2020-05-06 22:25:21 267

原创 AtCoder Beginner Contest 166 (全)

入口感觉这套要比上套简单一些~A - A?C#include<bits/stdc++.h>using namespace std;int main(){ string s; cin>>s; if(s[1]=='B') cout<<"ARC\n"; else cout<<"ABC\n"; return 0;}B - Tri...

2020-05-03 22:33:59 282

原创 AtCoder Beginner Contest 165 (全)

入口很少打这个比赛A - We Love Golf签到#include<bits/stdc++.h>using namespace std;int main(){ int k,a,b; cin>>k>>a>>b; for(int i=a;i<=b;i++) { if(i%k==0) { puts("OK"); ...

2020-05-03 19:48:59 467 1

原创 [NOI1997]最优乘车 (最短路建图)

920. 最优乘车 题目描述H 城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴士线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。一名旅客最近到 H 城旅游,他很想去 S 公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达 S 公园,则他可能要先乘某一路巴士坐几站,再下来...

2020-05-02 19:54:23 411

原创 P1576 最小花费(最短路)

1126. 最小花费题目描述在n个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元。输入格式第一行输入两个正整数n,m,分别表示总人数和可以互相转账的人的对数。以下m行每行输入三个正整数x,y,z,表示标号为x的人和标号为y的人之间互相转账需要扣除z%的手续费 ...

2020-05-02 17:04:08 558

原创 边的染色 (dfs + 思维)

边的染色题目描述小团有一张n个点,m条边的无向图G,有些边上已经被标记了0或1,表示它的边权。现在你需要给剩下的边标记边权为0或1,求有几种标记的方式满足:对于G中任意一个环,里面所有边的边权的异或值为0。环的定义如下:对于任意k(k≥2)个点{a1,a2,…,ak},若对于所有的i<k满足ai与ai+1之间有边,且a1=ak成立,则这k个点构成一个环。1≤n≤100,000...

2020-05-02 16:17:11 755

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除