• 本篇文档介绍了我们在生产中常用的transformation和action
• 题目：Transformation 这是我参考的博客： 总结：这题是看了将近一个上午才看明白，这里面线段树的节点保存的是这个节点所在区间内相同的元素的值，比如1~mid，这个节点的值为3，说明的是1 ~mid,所有元素的值都是为3...
题目：Transformation
这是我参考的博客：https://blog.csdn.net/a664607530/article/details/74563018
总结：这题是看了将近一个上午才看明白，这里面线段树的节点保存的是这个节点所在区间内相同的元素的值，比如1~mid，这个节点的值为3，说明的是1 ~mid,所有元素的值都是为3
if(lazy[rt]){
lazy[ls] = lazy[rs] = true;
lazy[rt] = false;
tree[ls] = tree[rs] = tree[rt];
}

这段代码的意思是住下继续扩展，因为当前区间不满足操作
void pushup(int rt){
if(lazy[rs] == false || lazy[ls] == false){
lazy[rt] = false;
}else if(tree[ls] != tree[rs]){
lazy[rt] = false;
}else {
lazy[rt] = true;
tree[rt] = tree[ls];
}
}

这段代码就有点类似于合并了，根据下面两个子区间的情况，判断父亲区间是否要发生变化。
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define mid (start+end)/2
#define ls (2*rt)
#define rs ((2*rt)+1)
const int mod = 10007;
const int N = 1e5+5;
using namespace std;

int tree[N<<2];
bool lazy[N<<2];
int n,m;

void pushup(int rt){
if(lazy[rs] == false || lazy[ls] == false){
lazy[rt] = false;
}else if(tree[ls] != tree[rs]){
lazy[rt] = false;
}else {
lazy[rt] = true;
tree[rt] = tree[ls];
}
}
void update(int rt,int start,int end,int l,int r,int v,int op){
if(lazy[rt] && start >= l && end <= r){
if(op == 1){
tree[rt] = (tree[rt]+v)%mod;
}else if(op == 2){
tree[rt] = (tree[rt]*v)%mod;
}else {
tree[rt] = v%mod;
}
return;
}
if(lazy[rt]){
lazy[ls] = lazy[rt] = true;
tree[ls] = tree[rs] = tree[rt];
lazy[rt] = false;
}
if(l <= mid) update(ls,start,mid,l,r,v,op);
if(r > mid) update(rs,mid+1,end,l,r,v,op);
pushup(rt);
}
int query(int rt,int start,int end,int l,int r,int p){
if(lazy[rt] && start >= l && end <= r){
int ans = 1;
for(int i = 1;i <= p;i++){
ans = (ans*tree[rt])%mod;
}
ans = (ans*(end-start+1))%mod;
return ans;
}
if(lazy[rt]){
lazy[ls] = lazy[rs] = true;
lazy[rt] = false;
tree[ls] = tree[rs] = tree[rt];
}
int ans = 0;
if(l <= mid) ans += query(ls,start,mid,l,r,p);
if(r > mid) ans += query(rs,mid+1,end,l,r,p);
return ans%mod;
}
void traver(){
for(int i = 1;i <= 9;i++){
printf("%3d",i);
}
printf("\n");
for(int i = 1;i <= 9;i++){
printf("%3d",lazy[i]);
}
printf("\n");
for(int i = 1;i <= 9;i++){
printf("%3d",tree[i]);
}
printf("\n\n");
}
int main(){
while(scanf("%d%d",&n,&m)&&(n+m)){
memset(tree,0,sizeof tree);
memset(lazy,true,sizeof lazy);
while(m--){
int op,l,r,p;
scanf("%d%d%d%d",&op,&l,&r,&p);
if(op >= 1 && op <= 3){
update(1,1,n,l,r,p,op);
}else {
printf("%d\n",query(1,1,n,l,r,p));
}
//    traver();
}
}
return 0;
}




展开全文
• <p>Got a simple working framework for parameter transformation. It's not ready to merge yet, but I think it should be a good start -- it's quite clean both in the code and in terms of the user...
• <div><p>Restructured geometric transformation code and added functions to estimate transformation parameters.</p><p>该提问来源于开源项目：scikit-image/scikit-image</p></div>
• <p>2015-09-10 17:48:52.280 [WARN ] [e.s.c.t.actions.Transformation] - No transformation service 'JSONPATH' could be found. <p>Is the JSONPATH transformation (or even transformations in general...
• ve trapped it an dealt with it specially, but it would be really nice not to have to have different code in the transformation path :) <p>Thoughts?</p><p>该提问来源于开源项目：Qix-/color-convert...
• <div><p>This PR is aimed at Linear Transformation of images.</p><p>该提问来源于开源项目：tensorflow/addons</p></div>
• <div><p>I want to multiply an AABB with a transformation matrix and obtain the transformed AABB.</p><p>该提问来源于开源项目：cginternals/globjects</p></div>
• <p>Which means the last row of affine transformation is [0,0,0], but it supposed to be [0,0,1], right? <p>I read about affine transformation from ...
• I wanted to use warp transformation functions of xfOpenCV: warpaffine and warpperspective. But in the header files, there are two options for it. In the warptransform, there is a option to do these ...
• <div><p>Adds a rotation transformation to the transformations module <p>Changes made in this Pull Request: - trajectory coordinates may now be rotated by a given angle and an axis. The axis is ...
• <div><p>For the programmer, it is much easier to write a transformation at the source code level, because she is familiar with the language constructs. However, in many cases, it is better to be able ...
• Factorization of Cache system from Map transformation with Scale transformation in superclass (AbstractFileTransformationService) - enabled cache system to operate properly on suddirectories - ported...
• A new hyperspectral image compression method of spectral feature classification vector quantization (SFCVQ) and embedded zero-tree of wavelet (EZW) based on Karhunen-Loeve transformation (KLT) and ...
• Scene transformation for detector adaptation
• Smooth and Efficient Crowd Transformation
• in this commit I again tried to implement transformation support and succeeded pretty much. It now supports matrix, skew, scale and rotate. So far the translation is still missing, which seems to be ...
• Equip triggered monster transformation then use monster transform scroll: Bonuses stack, but if you transform again the scroll transformation bonus is cancelled. Scroll monster transform then equip ...
• transformation to imbo. The transformation takes a desired width and height, and a POI (point-of-interest) coordinate parameter – (x,y). Based on these three parameter Imbo crops the image, trying ...
• Regarding the camera transformations, when the transformation is applied, the subject "leans" up to 500mm from head to foot (see pictures below for before and after). I've checked across ...
• <p>i finished the first implementation of segment transformation (projective and moebius). It's using the midpoint ansatz which becomes very handy in this situation. I haven't touched point on...
• <p>i have a unique situation with my transformation where in each single document has an array list and since i am interested in visualisations across each object in array i would have to split array ...
• <div><p>The docs for the transformation module aren't very good. The python module has some good descriptions but the c-module has only some short sentences. We should synchronize the two docs and...
• <div><p>Adds a very simple distortion transformation. <p>Closes #5 </p><p>该提问来源于开源项目：iver56/audiomentations</p></div>
• <div><p>Adds a DropNA transformation, per the draft specification. This simply drops all rows with missing values from the named variable(s).</p><p>该提问来源于开源项目：bids-standard/pybids</p>...
• <div><p>Could you add Box Cox transformation (lambda with the greatest log-likelihood) in Jamovi ? <p>Thanks a lot.</p><p>该提问来源于开源项目：jamovi/jamovi</p></div>
• Park Transformation 派克变换，静止三相坐标系abc变换到同步旋转坐标系dq0
• ve taken the liberty of adding the capability to provide a transformation function for changing the data during reindexing on-the-fly. I believe it addresses issue #54 and #83 in a simple to use way ...

...