ACM
Miroslav_K
这个作者很懒,什么都没留下…
展开
-
玉米田 炮兵阵地 状态压缩DP
原题#include <cstring>#include <iostream>#include <algorithm>#include <vector>using namespace std;const int N = 14, M = 1 << 12, mod = 1e8;int n, m;int w[N];vector<int> state;vector<int> head[M];int f[N原创 2022-04-08 09:05:16 · 232 阅读 · 0 评论 -
线性筛素数 板子
* 外循环为2-n,判断st[i]为0,即i是素数,用i和之前计算的素数更新,i*primes[j]<=n,当i%primes[j]==0,break;因为要用最小质因子更新#include <iostream>using namespace std;const int N=1000010;int primes[N];bool st[N];int n;int main (){ cin>>n; int cnt=0; for (int i=2;i<=n原创 2022-04-07 16:56:23 · 138 阅读 · 0 评论 -
dijkstra Floyd 迪杰斯特拉 弗洛伊德 板子
好久没写dijkstra了,找个板子,记录一下,方便用朴素dijkstra#include<iostream>#include<cstring>#include<algorithm>#include<queue>using namespace std;const int N=3000;int g[N][N],dist[N];int n,m,s,e;bool st[N];int dijkstra(int s,int e){ mem原创 2022-04-07 00:05:18 · 254 阅读 · 0 评论 -
log函数,ceil,归纳法,换底公式
原题题意:假设n个砝码连续表示出0-k,选第n+1个砝码,重为2k+1,则k+1=2k+1-(k)k+2=2k+1-(k-1)2k+1=2k+1-(0)2k+2=2k+1+13k+1=2k+1+(k)ans[i+1] = 3*ans[i]+1ans[i+1]+1/2=3(ans[i]+1/2)ans[n]=3^(n-1) * (ans[1]+1/2)(ans[1]+1/2)=3/2所以 ans[n]=3^(n-1) * 3/2ans[n]>=input3^(n-原创 2022-04-06 10:48:28 · 689 阅读 · 0 评论 -
getline使用
getline可以读入整行,以回车作为结尾,故如果输入形式是一个整数n,之后n行含有空格的串,要先进行getline(cin,s);读取完整数n后的空格。头文件是sstream,string#include <bits/stdc++.h>using namespace std;typedef long long ll;string s;map<string,int>m;int main(){ getline(cin,s); string str; strin原创 2022-04-05 14:14:51 · 1004 阅读 · 0 评论 -
freopen
输入freopen(“input.txt”, “r”, stdin);输出freopen(“output.txt”, “w”, stdout);原创 2022-04-03 16:22:23 · 84 阅读 · 0 评论