A. Palindromic Twist

给一个字符串(小写字母)   每个字符+1,-1;变成其他字符  a只能变b  z只能变y 看能否变成回文字符串

#include<bits/stdc++.h>
using namespace std;
int32_t main()
{
int T; cin>>T;
while(T--)
{
int n; cin>>n;
string ss; cin>>ss;
int t=;
for(int i=;i<n/;i++)
{
if(ss[i]-ss[n--i]==||fabs(ss[i]-ss[n--i])==)
continue;
else t=;
}
if(t==) cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
}

A.cpp

B. Numbers on the Chessboard

分类讨论下就ok了

#include<bits/stdc++.h>
#define int long long
#define MAX(a,b,c) max(a,max(b,c))
#define MIN(a,b,c) min(a,min(b,c))
#define pb push_back
#define fi first
#define se second
typedef long long ll;
typedef long long LL;
typedef unsigned long long ull;
typedef unsigned long long uLL;
using namespace std;
const int maxn=1e5+;
const int INF=0x3f3f3f3f;
int32_t main()
{
int n,q; cin>>n>>q;
if(n%==)
{
int ans1=;
int ans2=n*n/;
while(q--)
{
int a,b;cin>>a>>b;
if( (a+b)%== ) cout<<ans1+(a-)*n/+(b+)/<<endl;
else cout<<ans2+(a-)*n/+(b+)/<<endl;
}
}
else if(n%==)
{
int ans1=;
int ans2=n*n/+;
while(q--)
{
int a,b;cin>>a>>b;
if( (a+b)%== )
{
if(a%==) cout<<(a-)/*n+(b+)/<<endl;
else if(a%==) cout<<(a-)/*n+(n+)/+(b+)/<<endl;
}
else
{
if(a%==) cout<<ans2+(a-)/*n+(b+)/<<endl;
else if(a%==) cout<<ans2+(a-)/*n+(n-)/+(b+)/<<endl;
}
}
}
}

B.cpp

C. Minimum Value Rectangle

要使    4*(a+b)(a+b)/a*b  (a<b) 即使  b/a 最小  排序后暴力也可以   直接找b/a 最小也行。

#include<bits/stdc++.h>
#define int long long
#define MAX(a,b,c) max(a,max(b,c))
#define MIN(a,b,c) min(a,min(b,c))
#define pb push_back
#define fi first
#define se second
typedef long long ll;
typedef long long LL;
typedef unsigned long long ull;
typedef unsigned long long uLL;
using namespace std;
const int maxn=3e6+;
const int INF=0x3f3f3f3f;
int a[maxn];
int b[maxn];
int32_t main()
{ios::sync_with_stdio(false); cin.tie(); cout.tie();
int T;cin>>T;
while(T--)
{ int n; cin>>n;
for(int i=;i<=n;i++) cin>>a[i];
sort(a+,a++n);
int t=;
for(int i=;i<n;i++)
{
if(a[i]!=a[i+]) continue;
else { b[++t]=a[i]; i++;}
}
double ans=1e18;
int x,y;
for(int i=;i<t;i++)
{
double c=(b[i]*1.000000000000/b[i+])+b[i+]*1.000000000000/b[i];
if(c<ans)
{
ans=c;
x=b[i]; y=b[i+];
}
}
cout<<x<<" "<<x<<" "<<y<<" "<<y<<endl;
}
}

C.cpp

D. Mouse Hunt

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+;
int c[maxn];
int a[maxn];
int x[maxn];
int sst[maxn];
int ffind(int x)
{
if(x==sst[x]) return x;
return sst[x]=ffind(sst[x]);
}
int dfs(int x, int y){
if(x == y) return c[x];
return min(dfs(a[x], y), c[x]);
}
int main()
{
int n; cin>>n;
for(int i=;i<=n;i++) cin>>c[i];
for(int i=;i<=n;i++) sst[i]=i ;
for(int i=;i<=n;i++) cin>>a[i];
for(int i=;i<=n;i++)
{
if(ffind(a[i])==ffind(i))
{
x[i]=;
// continue;
}
else
{
sst[ffind(a[i])]=ffind(i);
}
/* for(int i=1;i<=n;i++)
{
cout<<i<<"=="<<sst[i]<<" ";
}cout<<endl;
for(int i=1;i<=n;i++)
{
cout<<x[i]<<"---- ";
}cout<<endl;*/
}
int ans = ;
for(int i = ; i <= n; i++)
{
//cout<<i<<endl;
if(x[i]) ans += dfs(a[i], i);
//cout<<ans<<endl;
}
printf("%d\n", ans);
return ;
}

D.cpp

R49 A-D D图有向有环图的更多相关文章

  1. 图->有向无环图->求关键路径

    文字描述 与AOV-网相对应的是AOE-网(Activity on Edge)即边表示活动的网.AOE-网是一个带权的有向无环图.其中,顶点表示事件Event,弧表示活动,权表示活动持续的时间.通常, ...

  2. 图->有向无环图->拓扑排序

    文字描述 关于有向无环图的基础定义: 一个无环的有向图称为有向无环图,简称DAG图(directed acycline graph).DAG图是一类较有向树更一般的特殊有向图. 举个例子说明有向无环图 ...

  3. 有向无环图的应用—AOV网 和 拓扑排序

    有向无环图:无环的有向图,简称 DAG (Directed Acycline Graph) 图. 一个有向图的生成树是一个有向树,一个非连通有向图的若干强连通分量生成若干有向树,这些有向数形成生成森林 ...

  4. UML 用例图、顺序图、状态图、类图、包图、协作图、流程图

    ​用例图.顺序图.状态图.类图.包图.协作图 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling La ...

  5. 桌面显卡天梯图和桌面cpu天梯图

    桌面cpu天梯图: 桌面显卡天梯图:

  6. 数据结构-图-Java实现:有向图 图存储(邻接矩阵),最小生成树,广度深度遍历,图的连通性,最短路径1

    import java.util.ArrayList; import java.util.List; // 模块E public class AdjMatrixGraph<E> { pro ...

  7. JavaScript + SVG实现Web前端WorkFlow工作流DAG有向无环图

    一.效果图展示及说明 (图一) (图二) 附注说明: 1. 图例都是DAG有向无环图的展现效果.两张图的区别为第二张图包含了多个分段关系.放置展示图片效果主要是为了说明该例子支持多段关系的展现(当前也 ...

  8. 图结构练习——判断给定图是否存在合法拓扑序列(dfs算法(第一个代码),邻接矩阵(前两个代码),邻接表(第三个代码))

    sdut 2140 图结构练习——判断给定图是否存在合法拓扑序列 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述  给定一个有向图 ...

  9. 湖南省第十二届大学生计算机程序设计竞赛 B 有向无环图 拓扑DP

    1804: 有向无环图 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 187  Solved: 80[Submit][Status][Web Board ...

随机推荐

  1. javascript 跑马灯

    1.看了写跑马灯的教程案例,隔了段时间自己写了一个简单的跑马灯.将过程中遇到的问题特此记录下来 代码如下: <!DOCTYPE html> <html> <head> ...

  2. 笨办法06字符串(string)和文本

    代码如下: # coding : utf-8 x = "There are %d types of people." % 10 binary = "binary" ...

  3. Mysql InnoDB三大特性-- change buffer

    Mysql InnoDB三大特性-- change buffer

  4. 用flask Flask-RESTful,实现RESTful API

    简介: 自从Roy Fielding博士在2000年他的博士论文中提出REST(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨 ...

  5. java 实现单向链表

    package cn.com.factroy2; /** * 可以看做是操作链表的工具类,链表的核心结构就是节点的数据结构 * @author wanjn * */ public class Sing ...

  6. :装饰者模式--Beverage

    #ifndef __BEVERAGE_H__ #define __BEVERAGE_H__ #include <string> using namespace std; class Bev ...

  7. C Runtime Library、C  Runtime

    C Runtime Library.C Runtime   1)运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些 ...

  8. perl代码调试

    perl调试教程 一.DESCRIPTIONA (very) lightweight introduction in the use of the perl debugger, and a point ...

  9. awk入门及进阶

    awk是Linux下优良的文本处理工具,有自成一体的编程语法规则,在循环和条件判断语句等方面和C语言很像. 其一般形式是:Pattern1 {ACTIONS; } Pattern2 { ACTIONS ...

  10. web.config 冲突的解决办法 (主目录子目录分别帮定域名导至出现错误)

    IIS上在主站点下搭建虚拟目录后,子站点中的<system.web>节点与主站点的<system.web>冲突解决方法: 在主站点的<system.web>上一级添 ...