[toc]
题目在这:http://judge.u-aizu.ac.jp/onlinejudge/contest/ICPCOOC2014/G.pdf

UVALive 6832 Bit String Reordering

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cmath>
#include<cctype>
#include<ctime>
#include<iomanip>
#include<vector>
#include<string>
#include<queue>
#include<stack>
#include<map>
#include<sstream>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define ForkD(i,k,n) for(int i=n;i>=k;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=Pre[x];p;p=Next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=Next[p])
#define Lson (o<<1)
#define Rson ((o<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (1000000007)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define vi vector<int>
#define pi pair<int,int>
#define SI(a) ((a).size())
#define Pr(kcase,ans) printf("Case #%d: %I64d\n",kcase,ans);
#define PRi(a,n) For(i,n-1) cout<<a[i]<<' '; cout<<a[n]<<endl;
#define PRi2D(a,n,m) For(i,n) { \For(j,m-1) cout<<a[i][j]<<' ';\cout<<a[i][m]<<endl; \}
#pragma comment(linker, "/STACK:102400000,102400000")
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int read()
{int x=0,f=1; char ch=getchar();while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}return x*f;
}
int n,m;
int a[30],p[30],b[30];
int main()
{
//  freopen("A.in","r",stdin);
//  freopen(".out","w",stdout);while(cin>>n>>m) {Rep(i,n) cin>>a[i];Rep(i,m) cin>>p[i];int s1=0,s2=0,t1=0,t0=0;Rep(i,m) if (i%2==0) s1+=p[i]; s2=n-s1;Rep(i,n) t1+=a[i]; t0=n-t1;int ans=INF;if (t0==s1) {int j=0;Rep(i,m) Rep(k,p[i]) b[j++]=i%2; int p=0,q=0,c=0;Rep(i,t0) {while(a[p]) ++p;while(b[q]) ++q;c+=abs(p-q);p++,q++;}ans=c;} if (t1==s1) {int j=0;Rep(i,m) Rep(k,p[i]) b[j++]=1^(i%2); int p=0,q=0,c=0;Rep(i,t0) {while(a[p]) ++p;while(b[q]) ++q;c+=abs(p-q);p++,q++;}ans=min(ans,c);}cout<<ans<<endl;}return 0;
}

UVALive 6833 Miscalculation

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cmath>
#include<cctype>
#include<ctime>
#include<iomanip>
#include<vector>
#include<string>
#include<queue>
#include<stack>
#include<map>
#include<sstream>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define ForkD(i,k,n) for(int i=n;i>=k;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=Pre[x];p;p=Next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=Next[p])
#define Lson (o<<1)
#define Rson ((o<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (1000000007)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define vi vector<int>
#define pi pair<int,int>
#define SI(a) ((a).size())
#define Pr(kcase,ans) printf("Case #%d: %I64d\n",kcase,ans);
#define PRi(a,n) For(i,n-1) cout<<a[i]<<' '; cout<<a[n]<<endl;
#define PRi2D(a,n,m) For(i,n) { \For(j,m-1) cout<<a[i][j]<<' ';\cout<<a[i][m]<<endl; \}
#pragma comment(linker, "/STACK:102400000,102400000")
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int read()
{int x=0,f=1; char ch=getchar();while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}return x*f;
}
int n;
char s[40];
ll calc() {ll t=0,c=0;Rep(i,n) {if (i%2==0) {c=s[i]-'0';if (!i) t=c;else {if (s[i-1]=='+') t+=c;else t*=c;}}}return t;
}
ll calc2() {ll t=0,c=1;Rep(i,n) {if (i%2==0) {ll p=s[i]-'0';if (!i) c=p;else if (s[i-1]=='+') {t+=c; c=p;}else {c*=p;}}}return t+c;
}
char ts[5]="IMLU";
int main()
{
//  freopen("B.in","r",stdin);
//  freopen(".out","w",stdout);while(cin>>s) {n=strlen(s);ll an; cin>>an;int b=(an==calc()),b2=(an==calc2());printf("%c\n",ts[b*2+b2]);}return 0;
}

UVALive 6834 Shopping

贪心

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cmath>
#include<cctype>
#include<ctime>
#include<iomanip>
#include<vector>
#include<string>
#include<queue>
#include<stack>
#include<map>
#include<sstream>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define ForkD(i,k,n) for(int i=n;i>=k;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=Pre[x];p;p=Next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=Next[p])
#define Lson (o<<1)
#define Rson ((o<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (1000000007)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define vi vector<int>
#define pi pair<int,int>
#define SI(a) ((a).size())
#define Pr(kcase,ans) printf("Case #%d: %I64d\n",kcase,ans);
#define PRi(a,n) For(i,n-1) cout<<a[i]<<' '; cout<<a[n]<<endl;
#define PRi2D(a,n,m) For(i,n) { \For(j,m-1) cout<<a[i][j]<<' ';\cout<<a[i][m]<<endl; \}
#pragma comment(linker, "/STACK:102400000,102400000")
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int read()
{int x=0,f=1; char ch=getchar();while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}return x*f;
}
#define MAXN (1010)
int n,m;
bool b[MAXN];
int main()
{
//  freopen("C.in","r",stdin);
//  freopen(".out","w",stdout);while(cin>>n>>m) {MEM(b)Rep(i,m) {int u=read(),v=read();Fork(j,u,v-1) b[j]=1;}int ans=0;For(i,n) {if  (!b[i]) ++ans; else ans+=3;}cout<<ans+1<<endl;}return 0;
}

UVALive 6837 There is No Alternative

#include<bits/stdc++.h>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define ForkD(i,k,n) for(int i=n;i>=k;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=Pre[x];p;p=Next[p])
#define Lson (o<<1)
#define Rson ((o<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (100000007)
#define pb push_back
#define mp make_pair
#define MAXN (3000+10)
#define MAXM (3*50000+10)
typedef long long ll;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return (a-b+llabs(a-b)/F*F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int n,Map[MAXN][MAXN]={0};int edge[MAXM],Next[MAXM],Pre[MAXM],siz=1;
void addedge(int u,int v) {edge[++siz]=v;Next[siz]=Pre[u];Pre[u]=siz;
}
void addedge2(int u,int v) {addedge(u,v),addedge(v,u);}
int dis[MAXN],vis[MAXN],pree[MAXN];
int prim()
{   int mst=0;MEM(Pre) siz=1;MEM(vis)dis[1]=0; vis[1]=1; Fork(i,2,n){dis[i]=Map[1][i];pree[i]=1;}dis[0]=INF;For(j,n-1) {int k=0;For(i,n) if (!vis[i] && dis[k] > dis[i] ) k = i;addedge2(pree[k],k);mst+=dis[k];vis[k]=1; dis[k]=0;For(i,n) {if (!vis[i] && dis[i] > Map[k][i] ) {dis[i]=Map[k][i]; pree[i]=k;} }}return mst;} int f[MAXN][MAXN],roo;
void dfs(int x,int fa){if ( x == roo || fa == roo ) f[roo][x] = INF; else f[roo][x]=Map[roo][x];Forp(x) {int v=edge[p];if (fa==v) continue;dfs(v,x); f[roo][x]=min(f[roo][x],f[roo][v]);}}
int dfs2(int x,int fa,int y) {int ans=f[x][y];Forp(x) {int v=edge[p];if (fa==v) continue;ans=min(ans,dfs2(v,x,y)); }return ans;
}void calc() {int ans=n-1;ll ans2=0;For(x,n) {Forp(x) {int v=edge[p];if (x>=v) continue;if (dfs2(x,v,v)==Map[x][v]) {ans--;} else ans2+=Map[x][v];}}cout<<ans<<' '<<ans2<<endl;
}int read()
{int x=0,f=1; char ch=getchar();while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}return x*f;
}
int main()
{
//  freopen("F.in","r",stdin);
//  freopen(".out","w",stdout);int m;while (cin>>n>>m) {For(i,n) For(j,n) Map[i][j]=100000;For(i,n) Map[i][i]=0;For(i,m) {int u=read(),v=read();Map[u][v]=Map[v][u]=read();}int mst=prim();For(i,n) f[i][i]=0;For(i,n) roo=i,dfs(i,0); calc();}return 0;
}

UVALive 6838 Flipping Parentheses

uva上的数据是有问题,我是在codeforces上测的

#include<cstdio>
#include<cmath>
#include<cstring>
#include<queue>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<string>
#include<iostream>
#include<functional>
#include<algorithm>using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define ForkD(i,k,n) for(int i=n;i>=k;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=Pre[x];p;p=Next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=Next[p])
#define Lson (o<<1)
#define Rson ((o<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (1000000007)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define vi vector<int>
#define pi pair<int,int>
#define SI(a) ((a).size())
#define Pr(kcase,ans) printf("Case #%d: %I64d\n",kcase,ans);
#define PRi(a,n) For(i,n-1) cout<<a[i]<<' '; cout<<a[n]<<endl;
#define PRi2D(a,n,m) For(i,n) { \For(j,m-1) cout<<a[i][j]<<' ';\cout<<a[i][m]<<endl; \}
#pragma comment(linker, "/STACK:102400000,102400000")
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
int read()
{int x=0,f=1; char ch=getchar();while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}return x*f;
}
#define MAXN (2000000+10)
#define MEM2(a,x) memset(a,x,sizeof(a));
int A[MAXN];
class SegmentTree
{  ll a[MAXN*4],minv[MAXN*4],addv[MAXN*4];  int n;
public:  void mem(int _n)  {  n=_n;  MEMI(a) MEM(minv) MEM(addv)  }  void build(int o,int L,int R) {if (L==R) {minv[o]=a[o]=A[L];return;}int m=(L+R)/2;build(Lson,L,m);build(Rson,m+1,R);maintain(o,L,R);}void maintain(int o,int L,int R)  {minv[o]=0;if (L<R){minv[o]=min(minv[Lson],minv[Rson]);} minv[o]+=addv[o];}int y1,y2,v;void update(int o,int L,int R){if (y1<=L&&R<=y2) {addv[o]+=v; minv[o]+=v; return;}else{pushdown(o,L,R);int M=(R+L)>>1;if (y1<=M) update(Lson,L,M);if (M< y2) update(Rson,M+1,R);}maintain(o,L,R); }void add(int l,int r,int v) {y1=l,y2=r,this->v=v;update(1,1,n);}void pushdown(int o,int L,int R) {if (L!=R&&addv[o]) {addv[Lson]+=addv[o];addv[Rson]+=addv[o];minv[Lson]+=addv[o];minv[Rson]+=addv[o];addv[o]=0;}}int query(int o,int L,int R){if (L==R) return L;pushdown(o,L,R);int m=(L+R)/2;if (minv[Rson]<2) return query(Rson,m+1,R);else return query(Lson,L,m);}
}S;
set<int> S1;
set<int>::iterator it;
int n;
char s[MAXN];
int main()
{
//  freopen("G.in","r",stdin);
//  freopen("G.out","w",stdout);int m;while(cin>>n>>m) {scanf("%s",s+1);S.mem(n); S1.clear();int p=0;For(i,n) {if (s[i]=='(') p++; else p--,S1.insert(i);A[i]=p;}S.build(1,1,n);Rep(i,m) {int c=0,p=read();if (s[p]=='(') {s[p]=')';S1.insert(p);c=*S1.begin();s[c]='(';S1.erase(c);S.add(p,n,-2);S.add(c,n,2);} else {S1.erase(p);S.add(p,n,2);s[p]='(';int l=1,r=n,ans=r;ans=S.query(1,1,n)+1;c=ans;s[c]=')';S1.insert(c);S.add(c,n,-2);}printf("%d\n",c);}}return 0;
}

小鸡腿U T10 Tokyo2014相关推荐

  1. h5可以获取本机手机号码么_重大突破 | 极验无感本机认证实现H5amp;小程序场景全覆盖,打造一键登录解决方案...

    验证是企业业务场景中出现频次非常高的一环,短信验证码作为校验用户身份,拦截黑产的利器,迅速成为主流.但是面对频发的短信收发延迟,短信泄露资产受损等问题,短信验证码从对抗黑产利器一下子成为运营鸡肋,增长 ...

  2. 祝老妈母亲节快乐的三段小程序

    今天是2020年5月10日--母亲节.又到了一年一度忧愁给麻麻送什么礼物的时候.钱少买不到好礼物,钱多又怕她说"净乱花钱![`Д´]老妈给你的生活费不想要了?" 作为一个没有实现财 ...

  3. 24小时临时邮箱_实用网站 | 临时邮箱,悄悄来悄悄去~

    我来咯! 大家中午好呀,我是老湿,一枚专注于分享的小主!每天分享一个可以给你生活带来便利的软件.网站.搞机小技巧.资源.福利...... (每天中午13:00,来这里找我哦) 前言 哈喽,今天的工具有 ...

  4. 菜谱系列:蒜香炸鸡翅

    程序员也是需要精致生活滴!!! 食材:鸡中翅(翅根.翅尖.小鸡腿也行不过感觉没有翅中好吃呢).菜籽油(适合煎炸食物比较香).蒜以及日常调料: 准备:中翅打斜刀泡在清水中备用:剁蒜蓉: 炸蒜油:起锅加油 ...

  5. GPS脚环计步、AI“鸡”脸识别,如何确保自己吃到了一只幸福健康的鸡

    作者:Chase Purdy 编译:林海.笪洁琼.亭八 在告别鸡年的年夜饭上,你和家人有可能吃到一只自己看着长大的"放心鸡". 与绝大多数工厂化养殖.45天屠宰的小鸡相比,这些被A ...

  6. 提高网站权重,快速增加百度收录量

    首先,大家应该明白,收录量是一个网站大小的体现,其次是权重的表现.还应该注意的问题,权重的表现并不是收录量决定的,而是收录率决定.一个网站总共的页面数量和被收录的页面数量决定了你的网站在百度的权重多少 ...

  7. GitHub上有哪些优秀的爬虫项目?

    1 写在前面的话 今天JAP君给大家安利一波福利!GitHub上优秀的爬虫项目大集合!!!大家赶快收藏一波! 2 福利开始喽! 1. Anti-Anti-Spider 地址:https://githu ...

  8. 励志视频,他没有手脚但是很幸福,不要抱怨

    一出生便没有四肢的"海豹人"."走"遍世界的励志演讲大师尼克·胡哲于情人节前夕步入婚姻殿堂,再一次向世人证明"人生不设限". 今年年仅29岁 ...

  9. 在绝望中寻找希望,把自己逼上成功

    在网上看到这样一篇励志文章,我想把他送给送给立志成功的80后同龄人们: 哭的时候没人哄,我学会了坚强, 怕的时候没人陪,我学会了勇敢, 烦的时候没人问,我学会了承受, 累的时候没人担心,我学会了自立, ...

  10. 贾伟专访:我的内心住着一个女孩

    图源<北京青年周刊> 采访 | 刘笠 采编 | 南书 排版 | 忘尘 提到贾伟,非产品圈/设计圈的人,或许不认识他. 但一定或多或少地听过.甚至用过他设计的55°杯, 吃过他设计的海底捞自 ...

最新文章

  1. Exp4 恶意代码分析 20164303 景圣
  2. Yii2中你可能忽略但很有用的两个方法batcheach
  3. 我的MYSQL学习心得(4) : 数据类型
  4. SGS 客户端协议解析
  5. 华章揭秘系列精品图书(《Android应用开发揭秘》、《GWT揭秘》、《Spring技术内幕》)...
  6. 查看mysql 中建立的表空间_mysql 表空间及索引的查看
  7. Python面试题总结(4)--数据类型(列表)
  8. rn 跳转至html5,ReactNative-从RN端跳转到原生界面
  9. Fiddler改包场景2——拦截请求,修改响应,放行请求
  10. Java基本类型占用字节数(或 bit数)
  11. windows本地script脚本恶意代码分析(带注释)
  12. r语言 怎么把字调大_R语言中的字体调整
  13. vb中换行的几种方法
  14. python乌龟吃鱼
  15. HTML音频视频、JS方法,以及插件使用教学
  16. 组策略命令应用设置大全
  17. linux vi打不开文件,在Linux中使用vi/vim打开一个文件时出现的的问题
  18. 谷歌宣布将收购云存储服务提供商Elastifile 完成后并入谷歌云
  19. 独家专访阿里高级技术专家北纬:Dubbo开源重启半年来的快意江湖
  20. android图片颜色过滤,在Android上实现图像颜色过滤与反转

热门文章

  1. DMZ区的介绍及连接图
  2. 葫芦娃用计算机,葫芦娃互通版电脑版
  3. qt 子线程(多线程)更新gui的几种方法
  4. IBM Tivoli NetView网管软件实战
  5. Springboot 整合百度地图 API
  6. python操作word文档,表格中插入文字及照片
  7. windows无法更改密码解决办法
  8. 解决 python安装pip问题
  9. python入门[中国大学mooc笔记][嵩天]
  10. Python:过程型考核